Ασύγχρονη κλήση μεθόδου

Συγγραφέας: Lewis Jackson
Ημερομηνία Δημιουργίας: 8 Ενδέχεται 2021
Ημερομηνία Ενημέρωσης: 25 Ιούνιος 2024
Anonim
ΝΕΑ ΜΕΘΟΔΟΣ. ΠΛΗΚΤΡΟ ΜΕ ΓΡΗΓΟΡΟ. ΠΛΗΚΤΡΟ ,, ΠΟΛΟ ,,. 2-ΜΕΡΟΣ. ΜΑΘΗΜΑ ΒΙΝΤΕΟ
Βίντεο: ΝΕΑ ΜΕΘΟΔΟΣ. ΠΛΗΚΤΡΟ ΜΕ ΓΡΗΓΟΡΟ. ΠΛΗΚΤΡΟ ,, ΠΟΛΟ ,,. 2-ΜΕΡΟΣ. ΜΑΘΗΜΑ ΒΙΝΤΕΟ

Περιεχόμενο

Ορισμός - Τι σημαίνει η ασύγχρονη μέθοδος κλήσης;

Μια κλήση ασύγχρονης μεθόδου είναι μια μέθοδος που χρησιμοποιείται στον προγραμματισμό .NET που επιστρέφει στον καλούντα αμέσως πριν από την ολοκλήρωση της επεξεργασίας του και χωρίς να εμποδίζει το νήμα κλήσης.

Όταν μια εφαρμογή καλεί μια ασύγχρονη μέθοδο, μπορεί ταυτόχρονα να εκτελέσει μαζί με την εκτέλεση της ασύγχρονης μεθόδου που εκτελεί την εργασία της. Μια ασύγχρονη μέθοδος τρέχει σε ένα νήμα ξεχωριστό από το κύριο νήμα εφαρμογής. Τα αποτελέσματα επεξεργασίας μεταφέρονται μέσω άλλης κλήσης σε άλλο νήμα.

Οι ασύγχρονες μέθοδοι συμβάλλουν στη βελτιστοποίηση της εκτέλεσης των πόρων με αποτέλεσμα την επεκτάσιμη εφαρμογή. Αυτά χρησιμοποιούνται για την εκτέλεση χρονοβόρων εργασιών όπως το άνοιγμα μεγάλων αρχείων, η σύνδεση σε απομακρυσμένους υπολογιστές, η αναζήτηση σε μια βάση δεδομένων, η κλήση υπηρεσιών Web και οι φόρμες ιστού ASP.NET.

Η κλήση ασύγχρονης μεθόδου μπορεί επίσης να αναφέρεται ως ασύγχρονη επίκληση μεθόδων (AMI).


Εισαγωγή στη Microsoft Azure και το Microsoft Σε αυτό τον οδηγό θα μάθετε τι είναι το cloud computing και πώς η Microsoft Azure μπορεί να σας βοηθήσει να μεταφέρετε και να εκτελέσετε την επιχείρησή σας από το cloud.

Η Techopedia εξηγεί την κλήση ασύγχρονης μεθόδου

Η ασύγχρονη μέθοδος διαφέρει από την σύγχρονη μέθοδο με τον τρόπο με τον οποίο επιστρέφει από την κλήση. Ενώ μια κλήση ασύγχρονης μεθόδου επιστρέφει αμέσως, επιτρέποντας στο πρόγραμμα κλήσης να εκτελεί άλλες λειτουργίες, οι κλήσεις συγχρονισμένης μεθόδου περιμένουν να ολοκληρωθεί η μέθοδος πριν συνεχίσετε με τη ροή του προγράμματος.

Το .NET Framework διαθέτει ενσωματωμένη ασύγχρονη υποδομή έτσι ώστε οποιαδήποτε μέθοδος να μπορεί να χρησιμοποιηθεί ασύγχρονα χωρίς να αλλοιωθεί ο κωδικός της.

Το .NET Framework παρέχει δύο μοτίβα σχεδίασης για την εφαρμογή της ασύγχρονης μεθόδου, τα οποία είναι εκείνα που χρησιμοποιούν ασύγχρονα πληρεξούσια (αντικείμενα IASyncResult) και συμβάντα. Το πρότυπο των ασύγχρονων αντιπροσώπων είναι πιο περίπλοκο και παρέχει ευελιξία, γεγονός που την καθιστά κατάλληλη για διάφορα πολύπλοκα μοντέλα προγραμματισμού. Το μοντέλο βασισμένο σε συμβάντα είναι απλό και θα πρέπει να χρησιμοποιείται στις περισσότερες περιπτώσεις.

Στο μοτίβο ασύγχρονων αντιπροσώπων, ένα αντικείμενο αντιπροσώπου χρησιμοποιεί δύο μεθόδους: BeginInvoke και EndInvoke. Το BeginInvoke έχει μια λίστα παραμέτρων, οι οποίες είναι παρόμοιες με την τυλιγμένη λειτουργία του, μαζί με δύο πρόσθετες προαιρετικές παραμέτρους. επιστρέφει το αντικείμενο IAsyncResult. Το EndInvoke επιστρέφει δύο παραμέτρους (εκτός και τύπου ref) μαζί με το αντικείμενο IAsyncResult. Το BeginInvoke χρησιμοποιείται για την εκκίνηση της ασύγχρονης κλήσης, ενώ το EndInvoke χρησιμοποιείται για την ανάκτηση των αποτελεσμάτων της ασύγχρονης κλήσης.

Τα ασύγχρονα μοτίβα βασισμένα σε συμβάντα χρησιμοποιούν μια κλάση που έχει μία ή περισσότερες μεθόδους, που ονομάζονται MethodNameAsync, οι οποίες έχουν αντίστοιχες συγχρονικές εκδόσεις που εκτελούνται στο τρέχον νήμα. Τα πρότυπα που βασίζονται σε συμβάντα ενδέχεται επίσης να έχουν ένα συμβάν MethodNameCompleted και μέθοδο MethodNameAsyncCancel. Αυτό το μοτίβο επιτρέπει στην κλάση να επικοινωνεί με εκκρεμείς ασύγχρονες λειτουργίες χρησιμοποιώντας το μοντέλο συμβάντων εκχωρητή.

Τα παρακάτω είναι μερικές συμβουλές σχετικά με ασύγχρονες μεθόδους:


  • Για υψηλή συνοχή, πρέπει να αποφεύγονται οι ασύγχρονες μέθοδοι
  • Πρέπει να ληφθεί μέριμνα κατά τη μεταφορά κοινών αναφορών αντικειμένων
  • Το EndXXX (που ονομάζεται στο τέλος μιας ασύγχρονης λειτουργίας) πρέπει να κληθεί να ανατρέψει τις εξαιρέσεις και να αποφύγει την αποτυχία
  • Μέσω της σύλληψης και αποθήκευσης όλων των αντικειμένων εξαίρεσης με ασύγχρονη μέθοδο, μπορεί να ανατραπεί κατά τη διάρκεια της κλήσης EndXXX
  • Οι έλεγχοι στο περιβάλλον χρήστη που εκκινούν μακροχρόνιες ασύγχρονες λειτουργίες πρέπει να απενεργοποιηθούν εάν χρειάζονται μόνο για το σκοπό αυτό
  • Οι ασύγχρονες μέθοδοι πρέπει να υλοποιηθούν με την κατανόηση της πολλαπλής θωράκισης και όπου αποδεικνύονται πιο αποτελεσματικές από τη χρήση σύγχρονων μεθόδων.