Share via


Übersicht über ASP.NET-Anwendungen in Anwendungsdiagrammen

Aktualisiert: November 2007

Sie können im Anwendungs-Designer ASP.NET-Anwendungen definieren, die durch Hinzufügen oder Verwenden der entsprechenden Endpunkte Webdienste auf Grundlage von ASMX-Dateien verfügbar machen und Webinhalte dokumentieren. Wenn Sie im Anwendungsdiagramm eine ASP.NET-Webdienstanwendung oder eine ASP.NET-Webanwendung hinzufügen, enthält die Anwendungsdefinition den Standardwebdienst bzw. den Anbieterendpunkt des Webinhalts. Sie können aber auch Anbieterendpunkte beliebigen Typs zu einer ASP.NET-Anwendung hinzufügen oder aus dieser entfernen. Anbieterendpunkte des Webdiensts in ASP.NET-Anwendungen können auch ersetzt werden.

Weitere Informationen finden Sie unter den folgenden Themen:

Die folgenden Abschnitte enthalten weitere Informationen über ASP.NET-Anwendungen im Anwendungsdiagramm:

  • Definieren von Webdiensten in ASP.NET-Anwendungen

  • Definieren von ASP.NET-Webanwendungen

  • Implementieren von ASP.NET-Anwendungen

  • Implementieren von Consumeranwendungen für Webdienste

Definieren von Webdiensten in ASP.NET-Anwendungen

Ein Webdienst einer ASP.NET-Anwendung wird durch einen Anbieterendpunkt des Webdiensts dargestellt. Ein Consumerendpunkt eines Webdiensts einer beliebigen Anwendung stellt einen Verbindungspunkt zu einem Webdienst dar. Sie können Vorgänge für Webdienste in ASP.NET-Anwendungen definieren, prüfen und bearbeiten.

Definieren, Überprüfen und Bearbeiten von Vorgängen

Sie können im Anwendungs-Designer Vorgänge und Parameter für jeden Webdienst einer ASP.NET-Anwendung über den entsprechenden Anbieterendpunkt des Webdiensts definieren, anzeigen und bearbeiten.

Tipp:

Der Anwendungs-Designer unterstützt auch einen vertragsgesteuerten Ansatz, bei dem Sie einen Anbieterendpunkt des Webdiensts einer ASP.NET-Anwendung mit vordefinierten Vorgangssignaturen und Typen basierend auf einer vorhandenen WSDL- oder DISCO-Datei erstellen. Weitere Informationen finden Sie unter Webdienst-Endpunkte, die auf WSDL-Dateien basieren.

Sie können mithilfe der folgenden Elemente einen oder mehrere Vorgänge definieren:

  • Vorgangsname und Rückgabetyp, sofern zutreffend.

  • Vorgangsparameter, einschließlich ihrer Namen, ggf. Typen und Modifizierer, die die Übergabe der einzelnen Parameter beschreiben.

  • Optionale Kommentare für jeden Vorgang oder Parameter.

Weitere Informationen finden Sie unter Gewusst wie: Definieren von Vorgängen für ASP.NET-Webdienste.

Definieren von Vorgängen im Fenster Webdienstdetails

Sie können im Anwendungs-Designer im Fenster Webdienstdetails Vorgänge für einen Anbieterendpunkt eines Webdiensts in einer ASP.NET-Anwendung definieren, anzeigen oder bearbeiten. Bei Webdiensten in implementierten ASP.NET-Anwendungen werden die Webdienstvorgänge in diesem Fenster nur dann richtig angezeigt, wenn die zugehörigen Webmethoden vollständig in einer einzelnen Klassendefinition in einer separaten Codedatei oder einer CodeBehind-Datei deklariert sind.

In der folgenden Tabelle werden Szenarios beschrieben, in denen Webdienstvorgänge nicht richtig im Fenster Webdienstdetails angezeigt werden.

Szenario

Fenster Webdienstdetails

Die ASMX-Datei enthält die Klassendefinition des Webdiensts inline.

Es werden keine Vorgänge angezeigt.

Webmethoden, die durch Attribute in den Methoden einer durch eine Webdienstklasse implementierten Schnittstelle deklariert sind.

- oder -

Eine Klasse erweitert eine Basisklasse, die Webmethoden definiert.

Es werden nur die Vorgänge angezeigt, die Webmethoden entsprechen, die in der Klasse deklariert sind, auf die durch die ASMX-Datei verwiesen wird.

CodeBehind-Dateien, die Webdienste mit Mehrfachbindungen definieren.

Es werden nur die Vorgänge angezeigt, die der ersten Bindung zugeordnet sind.

Weitere Informationen finden Sie unter Überlegungen zum Reverse Engineering in vorhandenen Projektmappen.

Verweisen auf Typen für Vorgänge und Parameter

Verweise auf einen Typ für einen Vorgang oder Parameter sind in Abhängigkeit von der für die Anwendung gewählten Programmiersprache zulässig. Wenn Sie einen Vorgang oder Parameter definieren, können Sie eine der folgenden Aktionen auswählen:

  • Sie belassen den Typ leer, oder legen Sie ihn ggf. auf den Standardwert fest.

  • Wählen Sie einen Typ aus der IntelliSense-Typliste aus.

  • Verweisen Sie auf einen Typ, der in anderen Typbibliotheken und Projekten definiert ist, wenn im Anwendungsprojekt ein Verweis auf diese Bibliotheken oder Projekte vorhanden ist.

  • Verweisen Sie auf einen Typ, den Sie zu einem späteren Zeitpunkt definieren werden.

Wenn Sie Vorgänge und Parameter im Fenster Webdienstdetails definieren, ist die IntelliSense-Unterstützung für Verweise auf Typen aus Visual Basic und Visual C# verfügbar. Nachdem die Anwendung implementiert ist, können Sie neue Typen definieren oder vorhandene Typen neu definieren. Weitere Informationen finden Sie unter Gewusst wie: Definieren von Vorgängen und Parametertypen für ASP.NET-Webdienste.

Definieren von ASP.NET-Webanwendungen

Im Anwendungs-Designer stellt ein Anbieterendpunkt des Webinhalts einer ASP.NET-Anwendung einen Verbindungspunkt dar, über den der Webinhalt verfügbar gemacht wird, z. B. HTML-Dateien oder ASPX (Active Server Pages)-Dateien. Ein Consumerendpunkt des Webinhalts einer Anwendung stellt einen Clientverbindungspunkt zum Webinhalt dar.

Endpunkte von Webinhalt unterstützen weder die Codegenerierung und -synchronisierung, noch führen sie die Synchronisierung mit den Einträgen der Anwendungskonfigurationsdatei (.config) durch. Sie können mit diesen Endpunkten aber die Anforderungen dokumentieren und Einschränkungen für die Unterstützung von Webinhalten für eine auf einem Webserver gehostete Website festlegen.

Weitere Informationen finden Sie unter den folgenden Themen:

Implementieren von ASP.NET-Anwendungen

Wenn Sie eine ASP.NET-Anwendung implementieren, generiert Visual Studio das zugehörige Projekt mit den entsprechenden Projektdateien. Sie können ASP.NET-Anwendungen als ASP.NET Development Server-Webprojekte (dateisystembasiert) oder als IIS (Internet Information Services)-Webprojekte (HTTP-basiert) implementieren. Weitere Informationen finden Sie unter Anwendungstypen und -prototypen für das Definieren von Anwendungen und unter Gewusst wie: Auswählen des Websitetyps für ASP.NET-Anwendungen.

Alle ASP.NET-Anwendungsprojekte enthalten im Projektmappen-Explorer im Stammprojekt eine Konfigurationsdatei Web.config. Bei einer ASP.NET-Anwendung mit einem oder mehreren Anbieterendpunkten für Webdienste enthält das Projekt außerdem für jeden Anbieterendpunkt des Webdiensts eine ASMX-Datei und eine Klassendatei für den Webdienst, bei der es sich um eine von der Programmiersprache abhängige Codedatei oder CodeBehind-Datei handelt.

In der Webdienstdatei wird jedem Anbieterendpunkt des Webdiensts eine WSDL-Bindung mit einer einzelnen Bindung und einem einzelnen Port zugeordnet. Jeder Webdienstvorgang wird zusammen mit sämtlichen Kommentaren in der Webdienstklasse als Methode mit dem WebMethod-Attribut angezeigt. Bei Anbieterendpunkten für Webdienste, die aus einer WSDL- oder DISCO-Datei erstellt wurden, enthält das Anwendungsprojekt auch Klassendateien, die alle komplexen XML-Typen definieren, die die XML-Serialisierung für Vorgänge in der WSDL-Datei unterstützen, oder die zugehörigen XML-Schemadateien. Sie können die Implementierung der einzelnen Vorgänge dann durch das Hinzufügen des erforderlichen Codes für den Methodentext abschließen. Weitere Informationen finden Sie unter Webdienst-Endpunkte, die auf WSDL-Dateien basieren.

Hinweis:

In der WSDL-Datei werden auch alle WSDL-Beschreibungen angezeigt, die Sie in Vorgangskommentaren angeben. Sie können auch die Generierung der WSDL-Datei anpassen. Weitere Informationen finden Sie unter Generieren von WSDL-Dateien für ASP.NET-Webdienste.

Obwohl der Quellcode für eine implementierte Anwendung als Masterdefinition gilt, werden alle Änderungen an einem ASP.NET-Webdienst, die Sie im Anwendungs-Designer, im Fenster Webdienstdetails oder in einem Code-Editor vornehmen, miteinander synchronisiert, wenn das Anwendungsdiagramm geöffnet wird. Bei einem geschlossenen Diagramm werden Änderungen am Code aber erst beim nächsten Öffnen des Diagramms synchronisiert. Weitere Informationen finden Sie unter Gewusst wie: Implementieren von Anwendungen in Anwendungsdiagrammen.

Dynamische Portzuweisungen für ASP.NET-Webanwendungen

Beim Implementieren einer dateisystembasierten ASP.NET-Anwendung, die ein ASP.NET Development Server-Webprojekt generiert, wird der zugehörigen Website eine Portnummer zugeordnet. Da dateisystembasierte ASP.NET-Anwendungen standardmäßig für die Verwendung dynamischer Ports festgelegt werden, kann sich die Portnummer ändern.

Tipp:

Sie können die Portnummer im Eigenschaftenfenster anzeigen, indem Sie im Projektmappen-Explorer mit der rechten Maustaste auf das ASP.NET-Anwendungsprojekt klicken.

Dateisystembasierten ASP.NET-Anwendungen werden in folgenden Situationen neue Portnummern zugeordnet:

  • Beim Öffnen einer Projektmappe mit diesen Typen von ASP.NET-Anwendungen und implementierten Consumeranwendungen für Webdienste mit Verweisen auf Webdienste, die durch diese ASP.NET-Anwendungen verfügbar gemacht wurden.

  • Beim ersten Verwenden des Visual Studio Debuggers in einer Projektmappe mit diesen Typen von ASP.NET-Anwendungen.

Wenn sich die zugeordneten Consumeranwendungsprojekte des Webdiensts in derselben Projektmappe befinden, werden sie automatisch aktualisiert. Wenn sie sich aber nicht in derselben Projektmappe befinden (sondern z. B. in anderen Projekten in der Projektmapppe oder in anderen Projektmappen), werden ihre Webverweise nicht aktualisiert und zeigen daher auf nicht vorhandene Webdienste.

Hinweis:

Wenn Sie die Quellcodeverwaltung verwenden und die zugeordneten Consumeranwendungsprojekte für Webdienste in die Quellcodeverwaltung eingecheckt werden, müssen Sie diese Projekte auschecken, um die Webverweise zu aktualisieren.

Wenn Sie die Zuweisung von Portnummern steuern möchten, legen Sie im Projekt einer dateisystembasierten ASP.NET-Anwendung fest, dass keine dynamischen Ports verwendet werden.

Hinweis:

Wenn Sie anschließend den Visual Studio Debugger starten, wird möglicherweise ein Fehler generiert, da der vorhandene Port verwendet wird. Sie müssen in diesem Fall die Portnummer für das Websiteprojekt manuell ändern. Wenn Sie die Portnummer ändern, generiert Visual Studio eine Warnung, in der Sie informiert werden, dass vorhandene Webverweise ungültig werden. Wenn das Anwendungsdiagramm offen ist, werden die Webverweise aktualisiert. Wenn das Anwendungsdiagramm allerdings nicht offen ist, müssen Sie diese Webverweise löschen und anschließend erneut hinzufügen.

Weitere Informationen finden Sie unter den folgenden Themen:

Implementieren von Consumeranwendungen für Webdienste

Wenn Sie eine Anwendung mit einem oder mehreren Consumerendpunkten für Webdienste implementieren, wird für jeden Consumerendpunkt der Webdienste ein Webverweis generiert, sofern die für das Generieren des Webverweises verwendete WSDL-Datei verfügbar ist. Diese WSDL-Datei wird von der Eigenschaft für den WSDL-Speicherort auf dem Consumerendpunkt des Webdiensts angegeben. Beim Generieren des Webverweises wird auch der Webdienst-URL in der Konfigurationsdatei der Consumeranwendung generiert.

Hinweis:

Wenn gleichzeitig eine verbundene Anbieteranwendung für den ASP.NET-Webdienst implementiert wird, ist die WSDL-Datei während der Implementierung verfügbar. Wenn die verbundene Anbieteranwendung für den Webdienst allerdings nicht zusammen mit dem Consumerendpunkt implementiert wird, wird auf dem Consumerendpunkt eine Warnung angezeigt, in der angegeben wird, dass der Consumerendpunkt nicht implementiert werden konnte. Wenn eine Anbieteranwendung eines Webdiensts implementiert wird, werden alle verbundenen Consumerendpunkte automatisch implementiert, wenn die Consumeranwendung implementiert wird. Weitere Informationen finden Sie unter Problembehandlung bei Anwendungsdiagrammen.

Der Webverweis behandelt das Erstellen der Proxyklasse für den Webdienstclient sowie der Proxytypen für das Aufrufen der Webdienstvorgänge und das Behandeln der Kommunikation von SOAP-Nachrichten. Sie können Proxyklassen für Webdienstclients auch zu Consumerendpunkten für Webdienste zurückentwickeln. Dazu gehören auch die benutzerdefinierten Proxyklassen und Webverweise, die in Klassenbibliotheken definiert sind. Weitere Informationen finden Sie unter Erstellen eines XML-Webdienstproxys und unter Überlegungen zu benutzerdefinierten Proxyklassen für Webdienstclients.

Hinweis:

Außerdem können Sie nach der Implementierung die XML-Dokumentation für eine Windows- oder Webdienst-Consumeranwendung aktivieren, um Vorgangskommentare in eine XML-Datei einzufügen. Diese Datei wird nach dem Erstellen des Anwendungsprojekts generiert. Sie müssen die XML-Dokumentation für das Windows-Projekt aktivieren, um die XML-Datei zu generieren. Weitere Informationen zu Windows-Projekten in Visual Basic finden Sie unter Gewusst wie: Generieren einer XML-Dokumentation für ein Projekt. Weitere Informationen zu Windows-Projekten in Visual C# finden Sie unter Gewusst wie: Festlegen von Buildeigenschaften (C#) und Seite "Erstellen", Projekt-Designer (C#).

Siehe auch

Weitere Ressourcen

Definieren von ASP.NET-Anwendungen in Anwendungsdiagrammen