Share via


Übersicht über die ASP.NET-Anwendungsdienste

Aktualisiert: November 2007

Die ASP.NET-Anwendungsdienste sind integrierte Webdienste, die Zugriff auf Features wie Formularauthentifizierung, Rollen und Profileigenschaften bereitstellen. Diese Dienste sind Teil einer dienstorientierten Architektur (Service-Oriented Architecture, SOA), in der eine Anwendung aus mindestens einem auf dem Server bereitgestellten Dienst und einem oder mehreren Clients besteht. Weitere Informationen über SOA finden Sie auf der MSDN-Website unter Understanding Service-Oriented Architecture.

Ein wichtiges Feature der ASP.NET-Anwendungsdienste besteht darin, dass sie für eine Vielzahl von Clientanwendungen verfügbar sind, nicht nur für ASP.NET-Webanwendungen. Die ASP.NET-Anwendungsdienste stehen jedem Client zur Verfügung, der auf .NET Framework basiert. Außerdem kann jede Clientanwendung, die Nachrichten im SOAP-Format senden und empfangen kann, die ASP.NET-Anwendungsdienste verwenden.

Dieses Thema enthält folgende Informationen:

  • Szenarien

  • Hintergrund

  • Beispiele

  • Klassenreferenz

  • Zusätzliche Ressourcen

Szenarien

Clientanwendungen für die ASP.NET-Anwendungsdienste können zu verschiedenen Typen gehören und auf verschiedenen Betriebssystemen ausgeführt werden. Dazu gehören die folgenden Clienttypen:

  • AJAX-Clients. Dies sind ASP.NET-Webseiten (ASPX-Dateien), die im Browser ausgeführt werden und aus Clientskripts auf die Anwendungsdienste zugreifen. AJAX-Clients verwenden zum Austauschen von Daten in der Regel das JSON-Format. Weitere Informationen finden Sie unter Verwenden von Webdiensten in ASP.NET-AJAX.

  • .NET Framework-Clients. Dies sind .NET Framework-Windows-Anwendungen, die mithilfe der Infrastruktur des Anbietermodells über HTTP auf die Anwendungsdienste zugreifen und zum Austauschen von Daten das JSON-Protokoll verwenden. Weitere Informationen finden Sie unter Übersicht über Clientanwendungsdienste.

    Hinweis:

    Das Anbietermodell passt das Mitgliedschaftssystem an die Verwendung von unterschiedlichen Datenspeichern bzw. von Datenspeichern mit unterschiedlichen Schemas an. Weitere Informationen finden Sie unter Mitgliedschaftsanbieter.

  • SOAP-Clients. Dies sind Clients, die über SOAP 1.1 auf die Anwendungsdienste zugreifen können. Das ist für Clients sinnvoll, die auf anderen Betriebssystemen ausgeführt werden oder andere Technologien verwenden (z. B. Java-Anwendungen). Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Verwenden von ASP.NET-Anwendungsdiensten.

Die folgende Abbildung zeigt, wie verschiedene Clients mit den Diensten kommunizieren.

Webdienste-Kommunikation

Hintergrund

Mit den von ASP.NET bereitgestellten Anwendungsdiensten können Clientanwendungen auf Informationen, die Teil einer Webanwendung sind, zugreifen und diese gemeinsam nutzen. ASP.NET stellt die folgenden Anwendungsdienste zur Verfügung:

  • Authentifizierungsdienst. Mit diesem Dienst ermöglichen Sie Benutzern, sich an einer Anwendung anzumelden. Der Dienst nimmt Benutzeranmeldeinformationen entgegen und gibt ein Authentifizierungsticket (Cookie) zurück. Weitere Informationen finden Sie unter Übersicht über die ASP.NET-Formularauthentifizierung.

  • Rollendienst. Mit diesem Dienst werden auf der Basis von Informationen, die von einem ASP.NET-Rollenanbieter zur Verfügung gestellt werden, die anwendungsbezogenen Rollen für einen authentifizierten Benutzer ermittelt. Dies kann sinnvoll sein, wenn Sie je nach Rolle des Benutzers eine bestimmte Benutzeroberfläche bereitstellen oder Zugriff auf bestimmte Ressourcen gestatten möchten. Weitere Informationen finden Sie unter Verwalten der Autorisierung mithilfe von Rollen.

  • Profildienst. Dieser Dienst stellt benutzerbezogene Informationen in einem Benutzerprofil bereit, das auf dem Server gespeichert wird. Dadurch kann eine Anwendung zu verschiedenen Zeitpunkten und aus verschiedenen Clientbenutzeroberflächenkomponenten auf die Einstellungen eines Benutzers zugreifen. Weitere Informationen finden Sie unter Übersicht über ASP.NET-Profileigenschaften.

Clients für die Anwendungsdienste

Dieser Abschnitt enthält ausführliche Informationen über die Arten von Clientanwendungen, die die ASP.NET-Anwendungsdienste verwenden können, sowie einige Informationen über die Kommunikation zwischen Client und Anwendungsdienst.

AJAX-Clients

AJAX-Clients (AJAX-fähige ASP.NET-Webseiten) tauschen Daten mit Anwendungsdiensten mithilfe von POST-Anforderungen über HTTP aus. Die Daten werden im JSON-Format gepackt. Die Clientanwendung kommuniziert über Clientskriptproxyklassen mit den Anwendungsdiensten. Die Proxyklassen werden vom Server generiert und als Teil einer Seite, die einen Anwendungsdienst aufruft, in den Browser heruntergeladen. Weitere Informationen finden Sie unter Verwenden von Webdiensten in ASP.NET-AJAX.

NET Framework-Clients

ASP.NET-Anwendungsdienste tauschen Daten mit .NET Framework-Clients unter Verwendung von POST-Anforderungen über HTTP aus. Die Daten werden im JSON-Format gepackt. Die Clientanwendung kommuniziert unter Verwendung des .NET Framework-Anbietermodells mit den Anwendungsdiensten. Bei ASP.NET-Anwendungsdiensten bezieht sich das Anbietermodell auf die .NET Framework-Clienttypen und die zugehörigen Mitgliedschaftsanbieter, die Anmeldeinformationen von Benutzern in einer Datenquelle speichern und aus dieser abrufen. Hierzu gehört beispielsweise die SqlMembershipProvider-Klasse.  

Die Kommunikation zwischen Client und Server erfolgt synchron. Weitere Informationen finden Sie unter Übersicht über Clientanwendungsdienste. Die Anwendungsdienste werden von den im System.Web.ClientServices.Providers-Namespace definierten Typen implementiert.

Um auf einen Anwendungsdienst zuzugreifen, muss eine .NET Framework-Clientanwendung entsprechend konfiguriert werden. Die Serverkonfiguration entspricht der in AJAX für die Anwendungsdienste verwendeten.

Weitere Informationen über das Anbietermodell finden Sie unter ASP.NET 2.0 Provider Model: Introduction to the Provider Model und Einführung in die Mitgliedschaft.

SOAP-Clients

Sie können auf jedem Betriebssystem aus jeder Clientanwendung, die das SOAP 1.1-Protokoll verwenden kann, auf die Authentifizierungs-, Profil- und Rollendienste von ASP.NET zugreifen. Die ASP.NET-Anwendungsdienste werden auf Grundlage der Windows Communication Foundation (WCF) erstellt und tauschen Daten mit dem Client im SOAP-Format aus. Weitere Informationen finden Sie unter XML Web Services Infrastructure auf der MSDN-Website.

Die Kommunikation zwischen dem Client und den Anwendungsdiensten erfolgt mithilfe von Proxyklassen, die auf dem Client ausgeführt werden und den Anwendungsdienst darstellen. Proxyklassen, die ASP.NET-Anwendungsdienste unterstützen, können Sie mit dem Service Model Metadata Utility Tool (svcutil.exe) generieren. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Verwenden von ASP.NET-Anwendungsdiensten.

Die folgenden Proxyklassen werden unterstützt:

  • Client für den Authentifizierungsdienst. Mit der für den Client generierten Proxyklasse für den Authentifizierungsdienst können Sie den Authentifizierungsdienst aus jeder Clientanwendung verwenden, die SOAP-Nachrichten senden und lesen kann. Benutzer einer ASP.NET-Anwendung sowie einer Anwendung, die .NET Framework nicht verwendet, können sich mit denselben Benutzeranmeldeinformationen authentifizieren. Die vom Dienst ausgegebenen Authentifizierungstickets werden als HTTP-Cookies erstellt und sind mit der ASP.NET-Formularauthentifizierung kompatibel. Weitere Informationen finden Sie unter Gewusst wie: Aktivieren des WCF-Authentifizierungsdiensts. Weitere Informationen über Authentifizierungstickets finden Sie unter FormsAuthenticationTicket.

    Hinweis:

    Die Einbettung des Authentifizierungstickets in die URL wird durch den Authentifizierungsdienst nicht unterstützt. Daher müssen Cookies im Client unterstützt werden und aktiviert sein, um das Authentifizierungsticket beizubehalten.

  • Client für den Rollendienst. Mit der für den Client generierten Proxyklasse für den Rollendienst können Sie den Rollendienst aus jeder Clientanwendung verwenden, die SOAP-Nachrichten senden und lesen kann. Weitere Informationen finden Sie unter Gewusst wie: Aktivieren des WCF-Rollendiensts.

  • Client für den Profildienst. Mit der für den Client generierten Proxyklasse für den Profildienst können Sie den Profildienst aus jeder Clientanwendung verwenden, die SOAP-Nachrichten senden und lesen kann. Benutzer einer ASP.NET-Anwendung sowie einer Anwendung, die .NET Framework nicht verwendet, können auf dieselben Benutzereinstellungen zugreifen. Weitere Informationen finden Sie unter Gewusst wie: Aktivieren des WCF-Profildiensts.

Zurück nach oben

Beispiele

Beispiele für den Aufruf von Anwendungsdiensten aus AJAX-Clients finden Sie unter den folgenden Themen:

Beispiele für den Aufruf von Anwendungsdiensten aus .NET Framework-Clients finden Sie unter den folgenden Themen:

Beispiele für den Aufruf von Anwendungsdiensten aus SOAP-Clients finden Sie unter den folgenden Themen:

Zurück nach oben

Klassenreferenz

In den folgenden Tabellen sind die wichtigsten Typen in Bezug auf das Aufrufen von ASP.NET-Anwendungsdiensten aus Clientanwendungen aufgelistet.

Clientnamespaces

In der folgenden Tabelle sind die Namespaces aufgelistet, die die zum Aufruf von ASP.NET-Anwendungsdiensten mit Clientskript verwendeten Klassen und Typen enthalten.

Name

Beschreibung

Sys.Services-Namespace

Enthält Typen, die in ASP.NET-AJAX-Anwendungen den Skriptzugriff auf den Authentifizierungs- und Profildienst sowie die Rollenanwendungsdienste von ASP.NET ermöglichen. Der Sys.Services-Namespace ist Teil von Microsoft AJAX Library.

Servernamespaces

In der folgenden Tabelle sind die Namespaces aufgelistet, die Klassen und Typen enthalten, die ASP.NET-Anwendungsdienste für die Serverprogrammierung unterstützen.

Name

Beschreibung

System.Web.ApplicationServices

Stellt Klassen bereit, mit denen Sie auf Webanwendungsdienste zugreifen können.

System.Web.ClientServices

Stellt Klassen bereit, die in Windows-Anwendungen den Zugriff auf den Anmeldungs-, Rollen- und Profildienst von ASP.NET unterstützen.

System.Web.ClientServices.Providers

Enthält Clientdienstanbieter und weitere Klassen, die in Windows-Anwendungen den Zugriff auf die Webanwendungsdienste unterstützen.

Zurück nach oben

Zusätzliche Ressourcen

Was ist Windows Communication Foundation?

Understanding Service-Oriented Architecture

Infrastruktur von XML-Webdiensten

Zurück nach oben

Siehe auch

Aufgaben

Gewusst wie: Aktivieren des WCF-Authentifizierungsdiensts

Gewusst wie: Aktivieren des WCF-Rollendiensts

Gewusst wie: Aktivieren des WCF-Profildiensts

Konzepte

Verwenden von Webdiensten in ASP.NET-AJAX