2009-05-27 9 views
-1

Je sais qu'il est possible de fournir implicitement l'interaction asynchrone en utilisant:Exemples d'interaction asynchrone dans C# .Net?

  • Asynchronous Les délégués
  • Asynchronous Callbacks

Je me demandais ce que d'autres méthodes .Net supporte une interaction asynchrone?

Aide grandement appréciée.

Cordialement

EDIT:

Peut-être que je ne me suis pas expliquer correctement .... JE COMPRENDS Threading et CONCURRENCY PARFAITEMENT, je voulais simplement une liste des moyens possibles pour mettre en œuvre l'interaction en .Net asynchrone , en dehors de l'utilisation de délégués asynchrones ou de rappels.

+0

J'ai vu quelques questions mal formulées ici, mais cela prend le biscuit! –

+0

Comment est-ce encore complexe? Si je posais la question, donnez-moi une liste de façons de stocker des données sur un support portable autre que l'utilisation d'un CD, vous répondriez avec: Une clé USB, une disquette, etc Tout ce que je voulais était une liste des supportés méthodes pour l'interaction asynchrone dans .Net ....... pas sorcier! – Goober

Répondre

0

(Je ne suis pas sûr que je comprends tout à fait ce que vous visez dans votre question, mais je vais lui donner un tir)

Pour permettre asynchrone l'exécution de code dans les applications winforms le composant BackgroundWorker est plutôt pratique. J'utilise aussi souvent la méthode ThreadPool.QueueUserWorkItem comme un moyen simple de générer une méthode sur son propre thread.

+0

Merci beaucoup – Goober

0

Cela peut être en dehors de ce que vous demandez, mais il y a aussi un support pour Message Queuing.

+0

et un exemple de ce serait? – Svish

+0

par exemple. http://msdn.microsoft.com/fr-fr/library/ms978425.aspx – ilivewithian

0

opérations asynchrones dans .NET sont démarrés en appelant une méthode qui est nommé BeginSomething, où Something va probablement être Invoke, Write, Send ou une autre opération.

Exemple:

http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.beginsend.aspx

Vous passez un délégué de votre propre qui sera exécuté lorsque l'opération est terminée. Vous pouvez ensuite obtenir le résultat de l'opération en appelant une méthode correspondante EndSomething.

Exemple:

http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.endsend(VS.80).aspx

Le motif est généralement la même quelle que soit l'opération en cours d'exécution. Il y a des bizarreries où la méthode EndSomething est nommée quelque chose d'incohérent à la place.

Autres exemples:

0

vous pouvez baser l'expression tress ou d'autres monades (permet pas encore de lien, mais le terme peut être trouvé wiki et Calvin a un grand blog sur le sujet, ainsi)

essentiellement tout ce qui vous permet de faire le codage imparative peut être utilisé pour des implémentations asynchrones.

Vous pourriez également google sur le passage continu. Un style de codage où toutes les méthodes ne renvoient pas de valeurs (void) mais prennent un paramètre (un délégué de toutes sortes) pour le faire exécuter.

Questions connexes