Freigeben über


Tutorial 1: Entwickeln des Echo-Adapters

In diesem Tutorial entwickeln Sie mithilfe des WCF LOB Adapter SDK einen funktionalen Adapter. Der Adapter simuliert die Vorgänge eines fiktiven Branchensystems, um viele der wichtigsten Features des WCF LOB Adapter SDK zu veranschaulichen, einschließlich:

  • Synchroner eingehender Datenverkehr

  • Synchroner ausgehender Datenverkehr

  • Metadatensuche

  • Metadatensuche

  • Metadaten auflösen

    Dieser Abschnitt enthält verschiedene Features, die vom Echoadapter unterstützt werden. Dabei handelt es sich um Nachrichtenaustausch, Vorgangsmetadaten, Verbindungseigenschaften und Adaptereigenschaften.

Nachrichtenaustauschmuster

Der Echoadapter unterstützt die folgenden beiden Nachrichtenaustauschmuster:

  • Synchroner ausgehender Datenverkehr, d. h. der nutzende Client sendet die WCF-Anforderungsnachricht über den Adapter an das Zielsystem und wartet dann auf den Empfang einer WCF-Antwortnachricht vom Zielsystem über den Adapter. Dies ist das häufigste Nachrichtenaustauschmuster für einen Adapter. Um synchronen ausgehenden Datenverkehr zu unterstützen, implementieren Sie die Microsoft.ServiceModel.Channels.Common.IOutboundHandler -Schnittstelle.

  • Synchron eingehender Datenverkehr, d. h. der nutzende Client lauscht über den Adapter auf Daten oder Ereignisse vom Zielsystem. Implementieren Sie die Microsoft.ServiceModel.Channels.Common.IInboundHandler -Schnittstelle, um synchron eingehenden Datenverkehr zu unterstützen.

    Weitere Informationen zu den Nachrichtenaustauschmustern finden Sie unter Übersicht über die Architektur.

Hinweis

Der Adapterentwicklungs-Assistent zeigt das Nachrichtenaustauschmuster als Datenfluss auf der Benutzeroberfläche an.

Metadatenunterstützung

Der Echoadapter unterstützt Funktionen zum Durchsuchen, Suchen und Auflösen von Metadaten. In der Regel rufen die Browser- und Suchvorgänge aus einem LOB-System ab. Für den Echoadapter besteht ein LOB-System aus einer Reihe vordefinierter Vorgänge, wie unten gezeigt:

EchoMainCategory  
        Echo/EchoStrings  
        Echo/EchoGreetings  
        Echo/EchoCustomGreetingFromFile  
        Echo/OnReceiveEcho  

Im Folgenden ist die Definition der einzelnen Vorgänge aufgeführt:

Name Vorgangsdefinition Beschreibung Richtung
EchoMainCategory Category Kategorisiert die Vorgänge.
Echo/EchoStrings string[] EchoStrings(string data) Gibt die eingehende Zeichenfolge mehrmals an den aufrufenden Client zurück. Ausgehend
Echo/EchoGreetings Gruß[] EchoGreetings(Grußwort) Gibt das eingehende Greeting-Objekt eine angegebene Anzahl von Wiederholungen an den aufrufenden Client zurück. Ausgehend
Echo/EchoCustomGreetingFromFile CustomGreeting EchoCustomGreetingFromFile(Uri greetingInstancePath) Gibt das Greeting-Objekt an, indem seine instance aus einer Datei gelesen wird. Die Metadaten des Greeting-Objekts werden aus einer vordefinierten XSD-Datei abgerufen. Ausgehend
Echo/OnReceiveEcho void OnReceiveEcho(URI-Pfad, langer Inhalt) Gibt den Speicherort und die Länge einer Datei an, die im angegebenen Ordner abgelegt wurde. Eingehend

Adaptereigenschaften

Der Adapter macht die folgenden Adaptereigenschaften verfügbar.

Name Kategorie Datentyp Beschreibung
Anzahl Sonstiges System.Int32 Wird verwendet, um die Angegebene Anzahl von Eingaben an den aufrufenden Client zurückzugeben.

Standardeinstellung = 5
EnableConnectionPooling Sonstiges System.Boolean Wird verwendet, um verbindungspooling für den Adapter zu aktivieren oder zu deaktivieren.

Standard = true, d. h. das Verbindungspooling ist in der Runtime-Engine des WCF LOB Adapter SDK aktiviert.
InboundFileFilter Eingehend System.String Wird nur für das eingehende Szenario verwendet und vom FileSystemWatcher verwendet, um die Dateien der Erweiterung zu überwachen.

Default=*.txt
InboundFileSystemWatcherFolderFolder Eingehend System.String Wird verwendet, um den Ordner festzulegen, in dem die Dateien gelöscht werden, damit FileSystemWatcher eine Benachrichtigung an den Adapter auslösen kann.

Standard = c:\inbound\watcher.

Verbindungseigenschaften

Der Echoadapter macht die folgenden Verbindungseigenschaften verfügbar.

Name Datentyp Beschreibung
Anwendung System.String Der Anwendungsname innerhalb des LOB-Systems. Diese Eigenschaft dient zur Veranschaulichung. Der Echoadapter umfasst kein LOB-System.

Standard = lobapplication
EnableAuthentication System.Boolean Bei "true" erwartet der Adapter einen Wert im Feld "Benutzername" innerhalb der Clientanmeldeinformationen.

Standard = false
Hostname System.String Der Servername, in dem sich ein LOB-System befindet. Diese Eigenschaft dient zur Veranschaulichung. Der Echoadapter umfasst kein LOB-System.

Standard = lobhostname

Schnittstellenimplementierung

Das WCF LOB Adapter SDK definiert eine Sammlung von Klassen und Schnittstellen, die implementiert werden müssen, um bestimmte Features des Adapters zu unterstützen. In der folgenden Tabelle werden diese Klassen und Schnittstellen, ihre Beschreibungen und deren Implementierung beschrieben.

Klasse/Schnittstelle Wann muss implementiert werden? Beschreibung
Microsoft.ServiceModel.Channels.Common.IConnection Wenn Sie die Verbindung mit dem Zielsystem definieren müssen. Definiert die Verbindung mit dem Zielsystem.
Microsoft.ServiceModel.Channels.Common.IConnectionFactory Wenn Sie eine Verbindung mit dem Zielsystem erstellen müssen. Erstellt die Verbindung mit dem Zielsystem.
Microsoft.ServiceModel.Channels.Common.ConnectionUri Wenn Sie einen Verbindungs-URI verwalten müssen.

Wenn Sie die Verbindungseigenschaft im Add Adapter Service Reference Plug-In tool kategorisieren müssen.
Verwaltet einen Verbindungs-URI für das Zielsystem.
Microsoft.ServiceModel.Channels.Common.IMetadataResolverHandler Ihr Adapter muss die Metadatenauflösungsfunktion unterstützen. Löst Vorgangs- und Typmetadaten auf.
Microsoft.ServiceModel.Channels.Common.IMetadataSearchHandler Wenn Ihr Adapter die Metadatensuchfunktion unterstützt. Sucht nach den Vorgängen im Zielsystem.
Microsoft.ServiceModel.Channels.Common.IMetadataBrowseHandler Ihr Adapter muss die Durchstöberfunktion unterstützen. Sucht nach den Vorgängen im Zielsystem.
Microsoft.ServiceModel.Channels.Common.IOutboundHandler Wenn Ihr Adapter in der Regel ausgehende Funktionen unterstützen muss. Transformiert die eingehende WCF-Anforderungsnachricht in eine Zielsystemnachricht, ruft die systemspezifische Zielfunktion auf und transformiert die Antwort dann in eine ausgehende WCF-Antwortnachricht.
Microsoft.ServiceModel.Channels.Common.IInboundHandler Wenn Ihr Adapter eingehende Funktionen unterstützt. Lauscht auf Daten und/oder Ereignisse aus dem Zielsystem.

Um die Adapterentwicklung zu vereinfachen, verwenden Sie den Assistenten für die Adapterentwicklung, um Ihr Adapterprojekt zu generieren. Dadurch werden eine Reihe abgeleiteter Klassen erstellt, die auf Ihre Adapterfeatures zugeschnitten sind.

Um die Adapter- und Verbindungseigenschaften über die Tools Zum Hinzufügen des Adapterdienstverweis-Plug-Ins und zum Verwenden des Adapterdienst-Add-Ins anzupassen, ändern Sie die folgenden dateien, die vom Adapterentwicklungs-Assistenten generiert wurden.

Weitere Informationen

Tutorials zum WCF LOB Adapter SDK