2009-08-13 7 views
0

J'utilise les services Web ASMX dans VB.Net dans VS 2005. J'appelle une méthode de fonction sur le service Web qui renvoie une valeur true ou false. Cela fonctionne très bien si j'appelle la méthode web de manière synchrone, mais si je veux appeler la méthode de manière asynchrone, la fonction retourne à un sous et il n'y a pas de valeur de retour; par conséquent, je ne peux pas dire si le résultat de l'appel est vrai ou faux. Est-il possible d'effectuer un appel asynchrone tout en obtenant le résultat vrai ou faux (peut-être en utilisant l'objet userState)?Valeur renvoyée par l'appel de service Web asynchrone

Par exemple:

Dim MyResult as Boolean = MyService.GetResult(10) 
Dim MyResult as Boolean = MyServer.GetResultAsync(10) 

Cela ne fonctionne pas le compilateur se plaint: « L'expression ne produit pas une valeur »

Répondre

0

Dans la classe proxy que VS crée pour vous doit exister quelque chose ressemblant à BeginGetResult - cette méthode renvoie l'interface IAsyncResult - avec l'aide d'eux, vous pouvez détecter lorsque l'exécution est terminée. Après cela, vous aurez une valeur.

+0

'Begin */End *' ne sont plus nécessaires dans sa situation, avec le nouveau modèle axé sur les événements introduit dans .NET 2.0. –

Questions connexes