Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przykładzie program obsługi jest dołączany do zdarzenia asynchronicznego programu obsługi usługi sieci Web, dzięki czemu może pobrać wynik wywołania metody asynchronicznej. W tym przykładzie użyto usługi internetowej DemoTemperatureService pod adresem http://www.xmethods.net.
Gdy odwołujesz się do usługi sieci Web w swoim projekcie w zintegrowanym środowisku programistycznym Visual Studio (IDE), odniesienie do usługi sieci Web zostaje dodane do obiektu My.WebServices, a IDE generuje klasę klienta proxy w celu uzyskania dostępu do określonej usługi sieci Web.
Klasa serwera proxy umożliwia synchroniczne wywoływanie metod usługi sieci Web, gdzie aplikacja czeka na ukończenie funkcji. Ponadto serwer proxy tworzy dodatkowych członków w celu asynchronicznego wywołania metody. Dla każdej funkcji usługi sieci Web NameOfWebServiceFunction serwer proxy tworzy podprogram NameOfWebServiceFunctionAsync, zdarzenie NameOfWebServiceFunctionCompleted oraz klasę NameOfWebServiceFunctionCompletedEventArgs. W tym przykładzie pokazano, jak używać elementów asynchronicznych, aby uzyskać dostęp do funkcji getTemp w usłudze internetowej DemoTemperatureService.
Uwaga / Notatka
Ten kod nie działa w aplikacjach internetowych, ponieważ ASP.NET nie obsługuje My.WebServices obiektu.
Asynchronicznie wywoływanie usługi sieci Web
Skorzystaj z usługi internetowej DemoTemperatureService pod adresem
http://www.xmethods.net. Adres to:http://www.xmethods.net/sd/2001/DemoTemperatureService.wsdlDodaj procedurę obsługi zdarzeń dla zdarzenia
getTempCompleted:Private Sub getTempCompletedHandler(ByVal sender As Object, ByVal e As net.xmethods.www.getTempCompletedEventArgs) MsgBox("Temperature: " & e.Result) End SubUwaga / Notatka
Nie można użyć instrukcji
Handles, aby skojarzyć program obsługi zdarzeń z zdarzeniamiMy.WebServicesobiektu.Dodaj pole, aby śledzić, czy program obsługi zdarzeń został dodany do
getTempCompletedzdarzenia:Private handlerAttached As Boolean = FalseDodaj metodę , aby dodać procedurę obsługi zdarzeń do
getTempCompletedzdarzenia, jeśli to konieczne, i wywołać metodęgetTempAsync: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 SubAby wywołać metodę
getTempsieci Web asynchronicznie, wywołaj metodęCallGetTempAsync. Po zakończeniu działania metody sieci Web jej wartość zwracana jest przekazywana do procedury obsługi zdarzeńgetTempCompletedHandler.