Udostępnij za pośrednictwem


Porady: asynchroniczne wywoływanie usługi sieci Web (Visual Basic)

W tym przykładzie program obsługi jest dołączenie do usługi sieci Web asynchronicznego programu obsługi zdarzeń, tak, aby ją pobrać wynik asynchroniczne wywołanie metody.W tym przykładzie używana usługa sieci DemoTemperatureService Web pod adresem http://www.xmethods.NET.

Kiedy usługa sieci Web odwoływać się w projekcie w Visual Studio rozwoju środowiska IDE (Integrated), jest ona dodawana do My.WebServices obiektu i IDE generuje klasę proxy klienta do uzyskiwania dostępu do określonej usługi sieci Web

Klasy proxy służy do wywoływania metody usługi sieci Web synchronicznie, gdzie aplikacja oczekuje dla tej funkcji zakończyć.Ponadto serwer proxy tworzy dodatkowych członków pomagające w wywołaniu metody asynchronicznie.Dla każdej funkcji usługi sieci Web NameOfWebServiceFunction, tworzy proxy NameOfWebServiceFunctionAsync procedurę, NameOfWebServiceFunctionCompleted zdarzenia, a NameOfWebServiceFunctionCompletedEventArgs klasy.W tym przykładzie przedstawiono sposób użycia asynchronicznego elementów członkowskich dostępu 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.

Asynchronicznie wywołania usługi sieci Web

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

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

    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 instrukcji do skojarzenia programu obsługi zdarzeń z My.WebServices obiektu zdarzenia.

  3. Dodaj pole do śledzenia, jeśli program obsługi zdarzeń został dodany do getTempCompleted zdarzenia:

    Private handlerAttached As Boolean = False
    
  4. Dodaj metodę, aby dodać do obsługi zdarzeń getTempCompleted zdarzenia, jeśli to konieczne oraz wywołanie 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
    

    Aby wywołać getTemp asynchronicznie sieci Web metody, należy wywołać CallGetTempAsync metody.Po zakończeniu działania metody sieci Web, jego wartość zwracana jest przekazywany do getTempCompletedHandler programu obsługi zdarzeń.

Zobacz też

Informacje

My.WebServices — Obiekt

Koncepcje

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