ConfigurationCodeGenerator
Der ConfigurationCodeGenerator ist ein Tool, mit dem Sie Ihre Implementierungen von benutzerdefinierten Kanälen für das Konfigurationssystem verfügbar machen können. Auf diese Weise können Benutzer den benutzerdefinierten Kanal wie bei vom System bereitgestellten Bindungen (wie NetTcpBinding
) oder benutzerdefinierten Bindungen mit dem TcpTransportBindingElement
mithilfe einer .config-Datei konfigurieren.
Wenn Sie einen benutzerdefinierten Kanal schreiben und ihn mit einem neuen BindingElement
oder einer neuen Binding
für das Programmiermodell verfügbar machen, müssen Sie eine Reihe von Klassen erstellen, damit das BindingElement
bzw. die Binding
mit einer .config-Datei konfiguriert werden kann. Mit dem Tool ConfigurationCodeGenerator können Sie diese Klassen generieren und Ihren Kunden die Arbeit erleichtern.
So erstellen Sie das Tool
Befolgen Sie zum Erstellen der Projektmappe die Anweisungen unter Erstellen der Windows Communication Foundation-Beispiele.
Beim Erstellen der Projektmappe wird eine Datei generiert: ConfigurationCodeGenerator.exe. Die Datei „SampleRun.cmd“ verfügt über eine Beispielbefehlszeile, die veranschaulicht, wie dieses Tool zum Generieren der Klassen für das Beispiel Transport: UDP verwendet wird.
So führen Sie das Tool aus
Wenn Sie sowohl einen benutzerdefinierten
BindingElement
-Typ als auch einen benutzerdefiniertenBinding
-Typ haben, geben Sie an der Eingabeaufforderung Folgendes ein:ConfigurationCodeGenerator.exe /be:YourCustomBindingElementTypeName /sb:YourCustomStdBindingTypeName /dll:TheAssemblyWhereTheseTypesAreDefined
Wenn Sie nur einen benutzerdefinierten
BindingElement
-Typ haben, geben Sie Folgendes ein:ConfigurationCodeGenerator.exe /be:YourCustomBindingElementTypeName /dll: TheAssemblyWhereThisTypeIsDefined
Wenn Sie nur einen benutzerdefinierten
Binding
-Typ haben, geben Sie Folgendes ein:ConfigurationCodeGenerator.exe /sb:YourCustomStdBindingTypeName /dll:TheAssemblyWhereThisTypeIsDefined
Der Befehl generiert drei .cs-Dateien für das
BindingElement
(wenn sie die Option "/be:" angegeben haben), fünf .cs-Dateien für die normaleBinding
(wenn Sie die Option "/sb:" angegeben haben), und eine .xml-Datei.Bei Verwendung der Option "/be" implementiert eine der .cs-Dateien den
BindingElementExtensionSection
für Ihr Bindungselement. Dieser Code macht IhrBindingElement
für das Konfigurationssystem verfügbar, sodass Ihr Bindungselement auch von anderen benutzerdefinierten Bindungen verwendet werden kann. Die anderen Dateien enthalten Klassen, die Standardwerte und Konstanten darstellen. Die Dateien enthalten//TODO
-Kommentare, um Sie daran zu erinnern, die Standardwerte zu aktualisieren.Wenn Sie die Option „/sb“ angegeben haben, implementieren zwei der „.cs“-Dateien ein
StandardBindingElement
bzw. einStandardBindingCollectionElement
, das Ihre Standardbindung für das Konfigurationssystem verfügbar macht. Die anderen Dateien enthalten Klassen, die Standardwerte und Konstanten darstellen. Die Dateien enthalten//TODO
-Kommentare, um Sie daran zu erinnern, die Standardwerte zu aktualisieren.Wenn Sie die Option „/sb:“ angegeben haben, enthält die Datei „CodeToAddTo<IhreStandardBindung>.cs“ Code, den Sie manuell in die Klasse einfügen müssen, die Ihre Standardbindung implementiert.
Die Datei "SampleConfig.xml" enthält den Konfigurationscode, den Sie der Konfigurationsdatei hinzufügen müssen, die die oben in Schritt 1 oder 2 definierten Handler registriert.