Codemodell für den Zugriff auf Webdienste in verwaltetem Code
Aktualisiert: November 2007
Ein Webdienstclient ist eine beliebige Komponente, ein Dienst oder eine Anwendung, die auf einen Webdienst verweist und ihn verwendet. Es ist wichtig zu wissen, dass ein Webdienstclient keine Anwendung auf Clientbasis sein muss, z. B. eine Desktopanwendung. In den meisten Fällen sind die Webdienstclients andere Webanwendungen oder sogar andere Webdienste.
Beim Zugreifen auf Webdienste in verwaltetem Code wird die gesamte Infrastrukturcodierung von einer Proxyklasse und .NET Framework verarbeitet. Folgende grundlegende Schritte sind für den Zugriff auf einen Webdienst erforderlich:
Suchen des Webdiensts, auf den zugegriffen werden soll.
Erstellen einer Proxyklasse für den Webdienst, indem dem Projekt ein Webverweis hinzugefügt wird.
Verweisen auf die Proxyklasse im Clientcode durch Einfügen des zugehörigen Namespaces.
Erstellen einer Instanz der Webdienst-Proxyklasse im Clientcode.
Zugreifen auf den Webdienst mit den Methoden des Proxys.
Weitere Informationen hierzu finden Sie unter Gewusst wie: Zugreifen auf einen Webdienst in verwaltetem Code oder unter Gewusst wie: Asynchrones Zugreifen auf einen Webdienst in verwaltetem Code.
Suchen eines Webdiensts und Hinzufügen eines Webverweises
Zur Vereinfachung des Codierungsmodells verwenden in verwaltetem Code geschriebene Anwendungen einen Webverweis, um die einzelnen Webdienste lokal darzustellen. Webverweise werden über das Dialogfeld Webverweis hinzufügen zum Projekt hinzugefügt. Dieses Dialogfeld unterstützt die Suche nach Webadressen für einen Webdienst. Weitere Informationen zu Trennzeichen finden Sie unter Suchen nach Webdiensten und Webverweise.
Verweisen auf die Proxyklasse
Der generierten Proxyklasse wird ein eigener Namespace zugewiesen. Sie müssen diesen Namespace zur Clientanwendung hinzufügen, bevor Sie eine Instanz dieser Klasse erstellen können. Weitere Informationen finden Sie unter using-Direktive (C#) oder Verweise und die Imports-Anweisung (Visual Basic .NET).
Erstellen einer Instanz der Proxyklasse
Bevor Sie eine Methode der Proxyklasse aufrufen können, müssen Sie eine Instanz dieser Klasse erstellen. Dieser Prozess unterscheidet sich in keinerlei Hinsicht vom Erstellen einer Instanz einer anderen Klasse. Weitere Informationen finden Sie unter new (C#) oderDeklaration von Objektvariablen (Visual Basic .NET).
Zugreifen auf den Webdienst mithilfe des Proxys
Für den Zugriff auf eine Webdienstmethode ruft die Clientanwendung entweder die entsprechende synchrone Methode oder die asynchronen Methoden des Proxyobjekts auf. Diese Methoden führen wiederum die Aufgaben aus, die erforderlich sind, um einen Remoteaufruf der gewünschten Webdienstmethode über eine Leitung auszuführen. Standardmäßig verwendet die Proxyklasse SOAP für den Zugriff auf die Webdienstmethode, da SOAP von den drei unterstützten Protokollen (HTTP-GET, HTTP-POST und HTTP-SOAP) die meisten Datentypen unterstützt. Weitere Informationen hierzu finden Sie unter XML-Webdiensttransportformate.
Zusammenfassung
Mit einer Proxyklasse, die Visual Studio direkt aus der Dienstbeschreibung eines Webdiensts generiert hat, stellt der Zugriff auf einen Webdienst in verwaltetem Code einen relativ einfachen Prozess dar. Die Proxyklasse übernimmt die Transformation des Methodenaufrufs in eine Anforderungsmeldung und die Rücktransformation der Antwortmeldung in einen Methodenrückgabewert.
Die folgende Abbildung zeigt die Beziehungen für eine Anwendung, die einen Webdienst aufruft, der zum Abrufen von Preisinformationen wiederum einen anderen Webdienst aufruft. In diesem Beispiel ist der Webdienst Get Current Prices sowohl ein Webdienstanbieter als auch ein Webdienstconsumer.
Webdienstclients und Webdienste
Siehe auch
Konzepte
Erstellen von XML-Webdienstclients