Gewusst wie: Zugreifen auf einen Webdienst in verwaltetem Code

Aktualisiert: November 2007

Der Zugriff auf einen Webdienst aus verwaltetem Code ist ein einfacher Prozess. Zunächst fügen Sie dem Projekt für den Webdienst, auf den Sie zugreifen möchten, einen Webverweis hinzu. Der Webverweis erstellt eine Proxyklasse mit Methoden, die als Proxys für die einzelnen verfügbar gemachten Methoden des Webdiensts verwendet werden. Danach fügen Sie den Namespace für den Webverweis hinzu. Schließlich erstellen Sie eine Instanz der Proxyklasse und greifen dann wie bei den Methoden anderer Klassen auf die Methoden dieser Klasse zu. Weitere Informationen hierzu finden Sie unter Codemodell für den Zugriff auf Webdienste in verwaltetem Code.

Standardmäßig werden beim Hinzufügen von Webverweisen auch Methoden zur Proxyklasse hinzugefügt, um asynchron auf den Webdienst zugreifen zu können. Weitere Informationen hierzu finden Sie unter Gewusst wie: Asynchrones Zugreifen auf einen Webdienst in verwaltetem Code.

So greifen Sie auf einen Webdienst in verwaltetem Code zu

  1. Erstellen Sie die Anwendung, aus der Sie auf einen Webdienst zugreifen möchten. Bei dieser Anwendung kann es sich auch um einen anderen Webdienst handeln.

  2. Fügen Sie einen Webverweis für den Webdienst hinzu, mit dem die Anwendung interagiert. Entsprechende Anweisungen finden Sie unter Hinzufügen und Entfernen von Webverweisen.

  3. Erstellen Sie eine Instanz des Proxyobjekts im Clientcode, in dem Sie auf den Webdienst zugreifen möchten.

  4. Greifen Sie wie bei jeder anderen Komponente auf die Methoden des Webdiensts zu.

    Im folgenden Beispielcode greift die Clientanwendung (Application1) auf einen Webdienst zu, für die sie einen Webverweis (Converter) besitzt. Dieser Webverweis enthält eine Proxyklasse (Service1) mit einer Methode (ConvertTemperature) zum Aufrufen des Webdiensts. Die beiden fett gedruckten Zeilen enthalten den Code, der für den Zugriff auf den Webdienst erforderlich ist.

    Imports System
    Module Module1
        Sub Main()
            Dim cService As New Converter.Service1()
            Dim dFahrenheit As Double
            Dim dCelsius As Double
            Console.Write("Temperature in degrees Fahrenheit: ")
            dFahrenheit = Convert.ToDouble(Console.ReadLine())
            dCelsius = cService.ConvertTemperature(dFahrenheit)
            Console.Write("Temperature in degrees Celsius: ")
            Console.WriteLine(dCelsius.ToString())
        End Sub
    End Module
    
    using System;
    namespace Application1
    {
       class Class1
       {
          static void Main()
          {
             Converter.Service1 cService = new Converter.Service1();
             Console.WriteLine("Temperature in degrees Fahrenheit: ");
             double dFahrenheit = Convert.ToDouble(Console.ReadLine());
             double dCelsius = cService.ConvertTemperature(dFahrenheit);
             Console.Write("Temperature in degrees Celsius: ");
             Console.WriteLine(dCelsius.ToString());
          }
       }
    }
    

Siehe auch

Konzepte

Erstellen von XML-Webdienstclients

Weitere Ressourcen

Zugriff auf Webdienste in verwaltetem Code