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
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.
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.
Erstellen Sie eine Instanz des Proxyobjekts im Clientcode, in dem Sie auf den Webdienst zugreifen möchten.
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