Comment ne attendent async en C#

Je suis en train d'essayer de comprendre comment vous attendent async en C# et une chose est source de confusion pour moi. Je comprends que toute méthode qui utilise le mot clé await doit être marqué avec async.
Ma compréhension est que, lorsqu'une ligne avec le mot clé await est frappé le code ci-dessous que la ligne n'est pas exécutée. Une opération asynchrone est de commencer à exercer sur l'état de l'attendre et de la ligne de contrôle est renvoyé à l'appelant la méthode qui peut procéder à l'exécution.

La Question n ° 1: cette hypothèse Est correcte ou le code ci-dessous le mot clé await est toujours exécuté?

Deuxièmement, supposons que j'ai appelé un service méthode async et la nécessité de retourner son résultat. L'instruction return est ci-dessous le mot clé await.

Question # 2: Quand est-ce que l'instruction return succès, après l'appel asynchrone est terminée ou avant?

La Question n ° 3: je veux utiliser le résultat de l'appel de service et d'opération asynchrone l'habitude de l'aider parce que je veux la méthode d'appel à être touché lorsque le résultat a été retourné. Je comprends que cela peut être fait en utilisant le Résultat de la propriété qui fait l'appel synchronus. Mais alors qu'est-ce que l'utilisation de async en DB opérations de cause, ils sont ceux qui prennent 80% du temps dans la plupart des applications.

La Question n ° 4: Comment puis-je utiliser asynchrone avec DB opérations? Est-il possible et recommandé?

La Question n ° 5: En ce qui scenraio va opérations asynchrones être utile, il semble que chaque api est juste faire des opérations asynchrones maintenant sans raison? ou ai-je raté le point de l'utilisation asynchrone ops?

Ce que je veux dire en disant que l'api font asyn méthodes sans raison est parce que les méthodes ont pour retourner quelque chose et jusqu'à ce que le calcul est fait comment peuvent-ils de retour donc dans essense de ne pas l'appeler encore de blocage dans le sens où il sera inutile jusqu'à ce que le résultat est retourné?

  • Vous vous posez beaucoup de questions. AINSI fonctionne le mieux si vous demandez à un unique et ciblé question. Si vous avez plus d'une question, postez-les séparément.
  • la façon dont je le vois MDSN me confond encore plus et a laissé beaucoup de questions dans mon esprit. Si quelqu'un d'autre a le même problème, peut-être qu'ils peuvent voir ce fil et de comprendre async ops mieux. Toutes mes questions sont liées à un sujet qui, pour moi, il ne serait pas judicieux de mettre 5 différentes questions et j'espère que quelqu'un va les voir toutes...
  • DONC, est sur le partage de votre connaissance? La seule règle est que les questions doivent être précises et responsable.
  • Le problème avec l'affichage de multiples questions, c'est que une personne pourrait répondre à certaines de vos questions et de l'autre l'un de l'autre partie de vos questions. Dans ce cas, comment jugez-vous la réponse devrait être acceptée?
  • Aussi pertinentes - stackoverflow.com/questions/37419572/... et stackoverflow.com/questions/42287737/...
InformationsquelleAutor Afraz Ali | 2013-07-05