Konfigurationskodgenerator

ConfigurationCodeGenerator är ett verktyg som du kan använda för att exponera dina anpassade kanalimplementeringar för konfigurationssystemet. Detta gör att användare av din anpassade kanal kan konfigurera din kanal med hjälp av en .config fil precis som de skulle konfigurera en bindning som tillhandahålls av systemet, till exempel NetTcpBinding eller en anpassad bindning med hjälp av TcpTransportBindingElement.

När du skriver en anpassad kanal och exponerar den för programmeringsmodellen med hjälp av en ny BindingElement eller Bindingmåste du skapa en uppsättning klasser för att göra BindingElement eller Binding konfigurerbara med hjälp av en .config fil. Du kan använda verktyget ConfigurationCodeGenerator för att generera dessa klasser och förbättra kundens upplevelse.

Så här skapar du verktyget

  1. Skapa lösningen genom att följa anvisningarna i Skapa Windows Communication Foundation-exempel.

  2. När du skapar lösningen genereras en fil: ConfigurationCodeGenerator.exe. Filen SampleRun.cmd har en exempelkommandorad som visar hur du använder det här verktyget för att generera klasserna för exemplet Transport: UDP .

Så här kör du verktyget

  1. I kommandotolken skriver du följande om du har både en anpassad BindingElement typ och en anpassad Binding typ:

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

    Eller skriv följande om du bara har en anpassad BindingElement typ:

    ConfigurationCodeGenerator.exe /be:YourCustomBindingElementTypeName /dll: TheAssemblyWhereThisTypeIsDefined
    

    Eller skriv följande om du bara har en anpassad Binding typ:

    ConfigurationCodeGenerator.exe /sb:YourCustomStdBindingTypeName /dll:TheAssemblyWhereThisTypeIsDefined
    

    Kommandot genererar tre .cs filer för BindingElement (om du angav alternativet /be: ), fem .cs filer för standarden Binding (om du angav alternativet /sb: ) och en .xml fil.

    1. Om du använde alternativet /be implementerar en av .cs-filerna BindingElementExtensionSection för ditt bindningselement. Den här koden exponerar din BindingElement för konfigurationssystemet, så att andra anpassade bindningar kan använda bindningselementet. De andra filerna har klasser som representerar standardvärden och konstanter. Filerna har //TODO kommentarer som påminner dig om att uppdatera standardvärdena.

    2. Om du har angett alternativet /sb implementerar två av de .cs filerna en StandardBindingElement respektive en StandardBindingCollectionElement , vilket exponerar din standardbindning för konfigurationssystemet. De andra filerna har klasser som representerar standardvärden och konstanter. Filerna har //TODO kommentarer som påminner dig om att uppdatera standardvärdena.

      Om du har angett alternativet /sb: har CodeToAddTo<YourStdBinding.cs kod som du måste lägga till manuellt i klassen som implementerar standardbindningen>.

    Den SampleConfig.xml filen innehåller konfigurationskoden som du måste lägga till i konfigurationsfilen som registrerar de hanterare som definierades i föregående steg 1 eller 2.