2009-04-23 9 views
4

En C#, comment effectuer un appel asynchrone à un service Web WCF? J'ai une référence de service configurée pour générer async. J'ai également modifié mes appels pour utiliser {WebServiceObject.Begin *()} mais il y a deux paramètres à la fin, 'AsyncCallback' et 'object asyncState'. Quels sont ceux-ci et comment puis-je les utiliser?Appel asynchrone à WCF avec C#?

Merci,

Répondre

3

Voir MSDN ici; http://msdn.microsoft.com/en-us/library/system.asynccallback.aspx

ici; http://msdn.microsoft.com/en-us/library/ms228969.aspx

ici; http://msdn.microsoft.com/en-us/library/ms228975.aspx

et ici; http://msdn.microsoft.com/en-us/library/86wf6409.aspx

Basicly in Begin * vous définissez un rappel, ce rappel est appelé lorsque l'opération est terminée. Là, vous appelez End * pour récupérer les données appropriées.

+0

Got it. Merci. – Phillip

+1

Aucun de ces liens sont spécifiques à WCF –

+0

Jetez un oeil à cette question connexe StackOverflow: http://stackoverflow.com/questions/18302560/using-client-side-task-based-operations-with-wcffacility-in-castle -windsor. –

2

callback est appelée lorsque l'opération est terminée, vous pouvez appeler End * et saisir la valeur de retour ou une exception le cas échéant. asyncState est juste une valeur pour la correspondance dans le callback si vous utilisez la même méthode de rappel à plusieurs endroits. Voici une description du modèle de conception Async - http://msdn.microsoft.com/en-us/library/aa719595(VS.71).aspx

Si vous créez une application GUI, pensez à utiliser une autre version - * Async méthode qui est également générée pour chaque opération. Il fournit une synchronisation de thread.

Questions connexes