Udostępnij za pośrednictwem


Jak: asynchroniczne wywołanie usługi sieci Web (Visual Basic)

W tym przykładzie dołącza program obsługi zdarzenia asynchroniczne obsługi usługi sieci Web, tak, że może ona pobrać wynik wywołania metody asynchronicznej.W tym przykładzie używana usługa sieci DemoTemperatureService Web na http://www.xmethods.NET.

Kiedy odwołanie usługi sieci Web w projekcie w Visual Studio zintegrowanym środowiskiem dewelopowania (IDE), jest on dodawany do My.WebServices obiektu i IDE generuje klasy proxy klienta, dostęp do określonej usługi sieci Web

Klasy proxy pozwala wywoływać metody usługi sieci Web synchronicznie, gdy aplikacja oczekuje na funkcji zakończyć.Ponadto serwer proxy tworzy dodatkowych członków w celu wywołania metody asynchronicznie.Dla każdej funkcji usługi sieci Web NameOfWebServiceFunction, tworzy serwer proxy NameOfWebServiceFunctionAsync podprocedurę, NameOfWebServiceFunctionCompleted zdarzenie, a NameOfWebServiceFunctionCompletedEventArgs klasy.W tym przykładzie przedstawiono sposób użycia członków asynchroniczny dostęp do getTemp funkcji usługi sieci DemoTemperatureService Web.

[!UWAGA]

Ten kod nie działa w aplikacji sieci Web, ponieważ program ASP.NET nie obsługuje My.WebServices obiektu.

Asynchroniczne wywołanie usługi sieci Web

  1. Odwołanie do usługi sieci DemoTemperatureService Web na http://www.xmethods.NET.Adres jest

    http://www.xmethods.net/sd/2001/DemoTemperatureService.wsdl
    
  2. Dodawanie obsługi zdarzenia getTempCompleted zdarzeń:

    Private Sub getTempCompletedHandler(ByVal sender As Object, 
        ByVal e As net.xmethods.www.getTempCompletedEventArgs)
    
        MsgBox("Temperature: " & e.Result)
    End Sub
    

    [!UWAGA]

    Nie można użyć Handles oświadczenie powiązanie programu obsługi zdarzeń z My.WebServices obiektu zdarzenia.

  3. Dodawanie pola do śledzenia, jeśli obsługa zdarzeń został dodany do getTempCompleted zdarzeń:

    Private handlerAttached As Boolean = False
    
  4. Dodaj metodę obsługi zdarzeń, aby dodać getTempCompleted zdarzenia, jeśli to konieczne i wywołać getTempAsynch metody:

    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 Sub
    

    Wywołanie getTemp sieci Web metodą asynchronicznie, call CallGetTempAsync metody.Po zakończeniu wykonywania metody sieci Web, jego wartość zwracana jest przekazywana do getTempCompletedHandler programu obsługi zdarzeń.

Zobacz też

Informacje

Obiekt My.WebServices

Koncepcje

Uzyskiwanie dostępu do usługi sieci Web aplikacji (Visual Basic)