Gewusst wie: Verweisen auf Klassenbibliotheken von Anwendungen in Anwendungsdiagrammen
Aktualisiert: November 2007
Im Anwendungs-Designer können Sie Verweise auf Klassenbibliotheken von Anwendungen im Anwendungsdiagramm darstellen. Obwohl der Anwendungs-Designer weder das Entwerfen noch die direkte Darstellung von Klassenbibliotheken im Anwendungsdiagramm unterstützt, können Sie einen ASP.NET-Webdienst als Fassade für die durch eine Klassenbibliothek implementierten Funktionen verwenden. Dann können Sie Verweise von anderen Anwendungen auf diese Klassenbibliothek als Verbindungen von diesen Anwendungen zu diesem Webdienst zurückentwickeln.
Die folgende Liste beschreibt die erforderlichen Schritte, um diese Aufgabe durchzuführen:
Fügen Sie der Projektmappe einen ASP.NET-Webdienst hinzu, und verweisen Sie von der Klassenbibliothek auf den Webdienst.
Verweisen Sie auf die Klassenbibliothek von der Consumeranwendung, bei der es sich um eine bereits vorhandene oder von Ihnen dem Anwendungsdiagramm hinzugefügte ASP.NET-, Windows- oder Office-Anwendung handeln kann.
Kopieren Sie die entsprechenden Einträge von der Konfigurationsdatei der Klassenbibliothek zur Konfigurationsdatei der Consumeranwendung.
Mit diesen Schritten werden ein Webdienst-Consumerendpunkt in der Consumeranwendung und eine Verbindung zum ASP.NET-Webdienst zurückentwickelt.
Tipp: |
---|
Mit diesem Verfahren können Sie auch Webverweise oder benutzerdefinierte Proxyklassen von Webdienstclients darstellen, die in Klassenbibliotheken als Webdienst-Consumerendpunkte und im Anwendungsdiagramm als Verbindungen definiert sind. Sie können diese Elemente aber nicht mit dem Anwendungs-Designer darstellen, indem Sie zunächst die Consumerendpunkte des Webdiensts entwerfen und dann die entsprechenden Einträge in der Konfigurationsdatei hinzufügen. Weitere Informationen finden Sie unter Webverweise und benutzerdefinierte Proxyklassen für Webdienstclients in Klassenbibliotheken. |
So verweisen Sie von einer Klassenbibliothek auf einen Webdienst
Öffnen Sie die Anwendungsdiagrammdatei (AD-Datei).
Fügen Sie im Diagramm einen ASP.NET-Webdienst hinzu.
Tipp: Weitere Informationen finden Sie unter Gewusst wie: Definieren von Anwendungen in Anwendungsdiagrammen.
Durch die Verwendung dieses Webdiensts können andere Anwendungen auf eine Klassenbibliothek verweisen.
Wählen Sie im Diagramm eine vorhandene Windows- oder ASP.NET-Anwendung als Consumeranwendung aus, oder fügen Sie eine neue hinzu.
Implementieren Sie den ASP.NET-Webdienst und die Consumeranwendung, wenn diese nicht bereits implementiert sind.
Hinweis: Weitere Informationen finden Sie unter Gewusst wie: Implementieren von Anwendungen in Anwendungsdiagrammen. Der ASP.NET-Webdienst muss implementiert werden, bevor Sie der Klassenbibliothek einen Webdienstverweis hinzufügen können. Die Consumeranwendung muss implementiert werden, damit Sie später ihre Konfigurationsdatei bearbeiten können.
Die Consumeranwendung ruft mithilfe der Funktionen der Klassenbibliothek den Webdienst auf.
Fügen Sie der Projektmappe bei Bedarf ein neues oder vorhandenes Klassenbibliotheksprojekt hinzu.
Hinweis: Im Klassenbibliotheksprojekt muss eine App.config-Datei vorhanden sein, sodass der Konfigurationsdatei die entsprechenden Einträge hinzugefügt werden, wenn der Webverweis hinzugefügt wird.
Wenn die Konfigurationsdatei aus der Klassenbibliothek, dem ASP.NET-Webdienst oder dem Consumeranwendungsprojekt fehlt, fügen Sie dem Klassenbibliotheksprojekt die entsprechende Konfigurationsdatei (App.config oder Web.config) hinzu.
Tipp: Um eine Konfigurationsdatei hinzuzufügen, wählen Sie im Projektmappen-Explorer den Projektknoten aus. Wählen Sie dann im Menü Projekt die Option Neues Element hinzufügen und anschließend im Dialogfeld Neues Element hinzufügen die Option Anwendungskonfigurationsdatei oder Webkonfigurationsdatei aus.
Wählen Sie im Projektmappen-Explorer den Klassenbibliotheksprojektknoten aus, und wählen Sie im Menü Projekt die Option Webverweis hinzufügen aus.
Klicken Sie im Dialogfeld Webverweis hinzufügen auf Webdienste in dieser Projektmappe, wählen Sie den von Ihnen erstellten Webdienst aus, und klicken Sie auf Verweis hinzufügen.
Im Projektmappen-Explorer wird dem Ordner Webverweise im Klassenbibliotheksprojekt ein Webdienstverweis hinzugefügt.
Wählen Sie im Projektmappen-Explorer den Klassenbibliotheksprojektknoten aus, und wählen Sie im Menü Erstellen die Option <ClassLibraryName> erstellen aus.
Tipp: Sie können auch mit der rechten Maustaste auf den Projektknoten klicken und Erstellen auswählen. Erstellen Sie nach dem Hinzufügen neuer Webverweise die Klassenbibliothek erneut, bevor Sie Konfigurationsdateieinträge kopieren und den Klassenbibliotheksverweis hinzufügen. Andernfalls lassen sich Webdienstverweise in Klassenbibliotheken von Visual Basic möglicherweise nicht zurückentwickeln, wenn im letzten Schritt nach dem Kopieren der Konfigurationsdateieinträge und nach dem Hinzufügen des Klassenbibliotheksverweises zur Consumeranwendung die Klassenbibliothek erstellt wird. Weitere Informationen finden Sie unter Problembehandlung bei Anwendungsdiagrammen.
Sie können nun der Consumeranwendung einen Klassenbibliotheksverweis hinzufügen.
Tipp: |
---|
Wenn die Konfigurationsdatei fehlt oder aus dem Klassenbibliotheksprojekt gelöscht wird, nachdem Sie dem Projekt die Webverweise hinzugefügt haben, können Sie dem Projekt eine neue Konfigurationsdatei hinzufügen. Die Webverweise werden der Konfigurationsdatei aber nicht automatisch hinzugefügt. Sie müssen die Webverweise aus dem Projekt entfernen und sie dann wieder dem Projekt hinzufügen, wodurch eine neue Konfigurationsdatei mit Einträgen für die hinzugefügten Webverweise erstellt wird. |
So verweisen Sie von der Consumeranwendung auf die Klassenbibliothek
Wählen Sie im Projektmappen-Explorer den Projektknoten für die Consumeranwendung und anschließend eine der folgenden Optionen aus:
Wählen Sie für eine Windows- oder Office-Anwendung im Menü Projekt die Option Verweis hinzufügen aus.
Wählen Sie für eine ASP.NET-Anwendung im Menü Website die Option Verweis hinzufügen aus.
Tipp: Sie können auch mit der rechten Maustaste auf den Stammprojektknoten klicken und Verweis hinzufügen auswählen.
Wählen Sie auf der Registerkarte Projekte das Klassenbibliotheksprojekt aus, und klicken Sie auf OK.
So kopieren Sie Einträge aus der Konfigurationsdatei der Klassenbibliothek zur Konfigurationsdatei der Consumeranwendung
Öffnen Sie die Datei App.config im Klassenbibliotheksprojekt und die Konfigurationsdatei im Consumeranwendungsprojekt.
Kopieren Sie aus der Datei App.config der Klassenbibliothek die folgenden Einträge aus dem Abschnitt <configSections> und dem Abschnitt <applicationSettings>.
Hinweis: Beziehen Sie das einschließende <configSections>-Tag oder das einschließende <applicationSettings>-Tag ein, wenn sie in der Zielkonfigurationsdatei nicht vorhanden sind. Wenn Sie Einträge für mehrere Klassenbibliotheken kopieren, kopieren Sie nur einen Satz von <sectionGroup>-"applicationSettings"-Tags.
<configSections> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=VersionNumber, Culture=neutral, PublicKeyToken=b77a5c561934e089"><section name="ClassLibraryName.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /></sectionGroup> </configSections> <applicationSettings> <ClassLibraryName.Settings> <setting name="ClassLibraryName_WebServiceProxyClassName" serializeAs="String"><value>http://WebServiceURL.asmx</value></setting></ClassLibraryName.Settings> </applicationSettings>
Fügen Sie die kopierten Einträge in der Konfigurationsdatei der Consumeranwendung im Abschnitt <configuration> unmittelbar hinter dem <configuration>-Tag ein.
Wählen Sie im Projektmappen-Explorer den Stammprojektmappenknoten aus, und wählen Sie im Menü Erstellen die Option Projektmappe erstellen aus.
Tipp: Sie können auch mit der rechten Maustaste auf den Stammprojektmappenknoten klicken und Projektmappe erstellen auswählen.
Im Anwendungsdiagramm wird ein Webdienst-Consumerendpunkt für die Consumeranwendung zurückentwickelt und mit dem ASP.NET-Webdienst verbunden.
Webdienstverweise können in den folgenden Szenarien möglicherweise nicht richtig zurückentwickelt werden:
Webdienstverweise können möglicherweise nicht richtig zurückentwickelt werden, wenn ein Windows- und ASP.NET-Webprojekt auf dieselbe Klassenbibliothek verweisen.
Schließen Sie zum Beheben dieses Problems das Anwendungsdiagramm, und entfernen Sie aus den Windows- und ASP.NET-Webprojekten die Verweise auf die freigegebene Klassenbibliothek. Fügen Sie zunächst dem ASP.NET-Webprojekt den Klassenbibliotheksverweis hinzu, öffnen Sie das Anwendungsdiagramm, und fügen Sie dann dem Windows-Projekt den Klassenbibliotheksverweis hinzu. Weitere Informationen finden Sie unter Problembehandlung bei Anwendungsdiagrammen.
Webdienstverweise in Klassenbibliotheken von Visual Basic lassen sich möglicherweise nicht richtig zurückentwickeln, wenn eine Consumeranwendung auf mehrere Klassenbibliotheken verweist und jede dieser Bibliotheken einen Webverweis auf einen anderen Webdienst enthält.
Aktualisieren Sie zum Beheben dieses Problems alle Webverweise in den betroffenen Klassenbibliotheken. Klicken Sie mit der rechten Maustaste auf jeden Webverweis in jeder betroffenen Klassenbibliothek, wählen Sie Webverweis aktualisieren aus, und erstellen Sie anschließend die gesamte Projektmappe neu. Erstellen Sie nach dem Hinzufügen neuer Webverweise und der Neuerstellung der entsprechenden Klassenbibliotheken die gesamte Projektmappe noch einmal neu, um diese Webverweise zurückzuentwickeln.
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Darstellen von indirekten Webdienstverbindungen
Konzepte
Übersicht über ASP.NET-Anwendungen in Anwendungsdiagrammen
Weitere Ressourcen
Verweisen auf Klassenbibliotheken von Anwendungen in Anwendungsdiagrammen