Share via


Grundlagen für die XML-Webdienste von ASP.NET

Dieses Thema bezieht sich auf eine veraltete Technologie. XML-Webdienste und XML-Webdienstclients sollten nun mithilfe der folgenden Technologie erstellt werden: Windows Communication Foundation.

Da ASP.NET die Infrastruktur für die interne Funktionsweise eines Webdienstes bereitstellt, können sich Entwickler darauf konzentrieren, die Funktionen des spezifischen Webdiensts zu implementieren. Die Aktivierung eines Webdiensts mithilfe von ASP.NET ist mit der Erstellung einer Datei mit der Dateinamenerweiterung ASMX, der Deklaration eines Webdiensts in dieser und möglicherweise einer weiteren Datei sowie der Definition von Webdienstmethoden verbunden. Die Verfahren sind unter Exemplarische Vorgehensweise: Erstellen eines grundlegenden XML-Webdiensts mit ASP.NET aufgeführt und hier näher ausgeführt.

Deklaration von Webdiensten

Beim Erstellen eines Webdiensts in ASP.NET stellen Sie die erforderliche @ WebService-Direktive an den Anfang der Textdatei mit der Dateinamenerweiterung ASMX. Das Vorhandensein der ASMX-Datei und der @ WebService-Direktive entsprechen der URL-Adresse des Webdiensts mit seiner Implementierung. Sie implementieren zudem die Webdienstklasse, die die für Webdienstclients sichtbaren Methoden und Datentypen definiert.

Die von Ihnen definierte Webdienstklasse kann direkt in die ASMX-Datei oder in eine separate Datei eingefügt werden. Wenn Sie eine separate Datei verwenden, muss die Datei in eine Assembly kompiliert werden. Optional können Sie ein WebService-Attribut für die Klasse anwenden, die den Webdienst implementiert. Die Klasse, die den Webdienst implementiert, kann von der WebService-Klasse abgeleitet sein.

Durch Anwenden des optionalen WebService-Attributs auf eine Klasse, die einen Webdienst implementiert, können Sie den Standard-XML-Namespace für den Webdienst zusammen mit einer Zeichenfolge zum Beschreiben des Webdiensts festlegen. Es empfiehlt sich dringend, diesen Standardnamespace, der ursprünglich http://tempuri.org lautet, zu ändern, bevor der Webdienst öffentlich nutzbar gemacht wird. Dies ist wichtig, weil der Webdienst von anderen Webdiensten unterschieden werden muss, die den Namespace möglicherweise versehentlich als Standard (<http://tempuri.org/>) verwenden.

Klassen, die einen mit ASP.NET erstellten Webdienst implementieren, können optional von der WebService-Klasse abgeleitet sein, um Zugriff auf die allgemeinen ASP.NET-Objekte (z. B. Application, Session, User und Context) zu erhalten. Die Application-Eigenschaft und die Session-Eigenschaft bieten für die Lebensdauer der Webanwendung oder einer bestimmten Sitzung Zugriff auf das Speichern und Empfangen des Zustands. Weitere Informationen zur Zustandsverwaltung finden Sie unter Vorgehensweise: Zustandsverwaltung in Webdiensten, die mit ASP.NET erstellt wurden. Die User-Eigenschaft enthält die Identität des Aufrufers für den Webdienst, wenn die Authentifizierung aktiviert ist. Mit der Identität kann ein Webdienst bestimmen, ob die Anforderung autorisiert ist. Weitere Informationen über die Authentifizierung finden Sie unter Sichern von XML-Webdiensten. Die Context-Eigenschaft stellt den Zugriff auf alle HTTP-spezifischen Informationen über die Anforderung des Webdienstclients bereit. Weitere Informationen über die Context-Eigenschaft finden Sie unter WebService.Context-Eigenschaft.

Definition von Webdienstmethoden

Methoden einer Klasse, die einen Webdienst implementieren, sind nicht automatisch in der Lage, Webdienstanforderungen zu empfangen und Antworten zurückzusenden. Mit Webdiensten, die mithilfe von ASP.NET erstellt wurden, kann diese Fähigkeit jedoch sehr leicht integriert werden. Wenden Sie ein WebMethod-Attribut auf öffentliche Methoden an. Methoden einer Webdienstklasse, mit denen über das Web kommuniziert werden kann, werden als Webdienstmethoden bezeichnet.

Webdienstmethoden sind ein wesentlicher Teil der von Webdiensten eingesetzten Messaginginfrastruktur. Das heißt, dass ein Client und ein Webdienst standardmäßig über Nachrichten, insbesondere SOAP-Nachrichten, kommunizieren. Clients senden eine SOAP-Anforderung an einen Webdienst, und eine Webdienstmethode gibt in der Regel eine SOAP-Antwort zurück. Webdienste definieren den von ihnen akzeptierten Nachrichtentyp gemäß der WSDL (Web Services Description Language)-Definition mithilfe von Vorgängen. Diese Vorgänge entsprechen allen Webdienstmethoden innerhalb eines Webdiensts. Obwohl jede dieser Webdienstmethoden mit der Methode einer Klasse in ASP.NET definiert ist, ist es wichtig zu wissen, dass die Daten, die schließlich über das Netzwerk übertragen werden, in XML serialisiert werden müssen. Daher müssen Sie unbedingt daran denken, dass Webdienste kein Ersatz für DCOM sind, sondern eher eine Messaginginfrastruktur für die Kommunikation über Plattformen hinweg darstellen, bei der Industriestandards verwendet werden.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Erstellen eines einfachen XML-Webdiensts mithilfe von ASP.NET

Verweis

WebService Class
WebServiceAttribute Class
WebMethodAttribute Class

Weitere Ressourcen

XML-Webdienste, die ASP.NET verwenden