Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Cet exemple attache un gestionnaire à l’événement de gestionnaire asynchrone d’un service Web, afin qu’il puisse récupérer le résultat d’un appel de méthode asynchrone. Cet exemple a utilisé le service Web DemoTemperatureService à l’adresse http://www.xmethods.net.
Lorsque vous référencez un service Web dans votre projet dans l’environnement de développement intégré (IDE) Visual Studio, il est ajouté à l’objet My.WebServices et l’IDE génère une classe proxy cliente pour accéder à un service web spécifié
La classe proxy vous permet d’appeler les méthodes de service Web de manière synchrone, où votre application attend que la fonction se termine. En outre, le proxy crée des membres supplémentaires pour vous aider à appeler la méthode de manière asynchrone. Pour chaque fonction de service web, NameOfWebServiceFunction, le proxy crée une sous-routine NameOfWebServiceFunctionAsync, un événement NameOfWebServiceFunction et une classe CompletedCompletedEventArgs. Cet exemple montre comment utiliser les membres asynchrones pour accéder à la getTemp fonction du service Web DemoTemperatureService.
Remarque
Ce code ne fonctionne pas dans les applications web, car ASP.NET ne prend pas en charge l’objet My.WebServices .
Appeler un service web de façon asynchrone
Référencez le service Web DemoTemperatureService à l’adresse
http://www.xmethods.net. L'adresse esthttp://www.xmethods.net/sd/2001/DemoTemperatureService.wsdlAjoutez un gestionnaire d’événements pour l’événement
getTempCompleted:Private Sub getTempCompletedHandler(ByVal sender As Object, ByVal e As net.xmethods.www.getTempCompletedEventArgs) MsgBox("Temperature: " & e.Result) End SubRemarque
Vous ne pouvez pas utiliser l’instruction
Handlespour associer un gestionnaire d’événements aux événements de l’objetMy.WebServices.Ajoutez un champ pour effectuer le suivi si le gestionnaire d’événements a été ajouté à l’événement
getTempCompleted:Private handlerAttached As Boolean = FalseAjoutez une méthode pour ajouter le gestionnaire d’événements à l’événement
getTempCompleted, si nécessaire, et pour appeler lagetTempAsyncméthode :Sub CallGetTempAsync(ByVal zipCode As Integer) If Not handlerAttached Then AddHandler My.WebServices. TemperatureService.getTempCompleted, AddressOf Me.TS_getTempCompleted handlerAttached = True End If My.WebServices.TemperatureService.getTempAsync(zipCode) End SubPour appeler la
getTempméthode Web de façon asynchrone, appelez laCallGetTempAsyncméthode. Une fois la méthode Web terminée, sa valeur de retour est transmise augetTempCompletedHandlergestionnaire d’événements.