Freigeben über


Konfigurationscode-Generator

Der ConfigurationCodeGenerator ist ein Tool, mit dem Sie Ihre benutzerdefinierten Kanalimplementierungen für das Konfigurationssystem verfügbar machen können. Auf diese Weise können Benutzer Ihres benutzerdefinierten Kanals diesen mithilfe einer .config-Datei genauso konfigurieren wie eine vom System bereitgestellte Bindung, wie NetTcpBinding, oder eine benutzerdefinierte Bindung, die TcpTransportBindingElement verwendet.

Wenn Sie einen benutzerdefinierten Kanal schreiben und ihn dem Programmiermodell mithilfe eines neuen BindingElement oder Binding zur Verfügung stellen, müssen Sie eine Reihe von Klassen erstellen, um BindingElement oder Binding mithilfe einer .config-Datei konfigurierbar zu machen. Sie können das ConfigurationCodeGenerator-Tool verwenden, um diese Klassen zu generieren und die Benutzerfreundlichkeit zu verbessern.

So erstellen Sie das Tool

  1. Befolgen Sie zum Erstellen der Projektmappe die Anweisungen unter Erstellen der Windows Communication Foundation-Beispiele.

  2. Beim Erstellen der Lösung wird eine Datei generiert: ConfigurationCodeGenerator.exe. Die Datei SampleRun.cmd verfügt über eine Beispielbefehlszeile, die zeigt, wie Sie dieses Tool verwenden, um die Klassen für das Transport: UDP-Beispiel zu generieren.

So führen Sie das Tool aus

  1. Geben Sie an der Eingabeaufforderung Folgendes ein, wenn Sie sowohl über einen benutzerdefinierten Typ BindingElement als auch über einen benutzerdefinierten Typ Binding verfügen:

    ConfigurationCodeGenerator.exe /be:YourCustomBindingElementTypeName /sb:YourCustomStdBindingTypeName /dll:TheAssemblyWhereTheseTypesAreDefined
    

    Oder geben Sie Folgendes ein, wenn Sie nur einen benutzerdefinierten BindingElement Typ haben:

    ConfigurationCodeGenerator.exe /be:YourCustomBindingElementTypeName /dll: TheAssemblyWhereThisTypeIsDefined
    

    Oder geben Sie Folgendes ein, wenn Sie nur einen benutzerdefinierten Binding Typ haben:

    ConfigurationCodeGenerator.exe /sb:YourCustomStdBindingTypeName /dll:TheAssemblyWhereThisTypeIsDefined
    

    Der Befehl generiert drei .cs-Dateien für BindingElement (wenn Sie die Option /be angegeben haben), fünf .cs-Dateien für den Standard Binding (wenn Sie die Option /sb: angegeben haben) und eine .xml-Datei.

    1. Wenn Sie die Option "/be" verwendet haben, implementiert eine der .cs Dateien das BindingElementExtensionSection Bindungselement. Dieser Code stellt Ihr BindingElement dem Konfigurationssystem bereit, sodass andere benutzerdefinierte Bindungen Ihr Bindungselement verwenden können. Die anderen Dateien verfügen über Klassen, die Standardwerte und Konstanten darstellen. Die Dateien enthalten //TODO Kommentare, um Sie daran zu erinnern, die Standardwerte zu aktualisieren.

    2. Wenn Sie die Option "/sb" angegeben haben, implementieren zwei der .cs-Dateien jeweils ein StandardBindingElement und ein StandardBindingCollectionElement, welche Ihre Standardbindung für das Konfigurationssystem zugänglich machen. Die anderen Dateien verfügen über 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, verfügt die Option CodeToAddTo<YourStdBinding>.cs über Code, den Sie manuell der Klasse hinzufü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 im vorherigen Schritt 1 oder 2 definierten Handler registriert.