ConfigurationCodeGenerator
ConfigurationCodeGenerator to narzędzie, którego można użyć do uwidocznienia niestandardowych implementacji kanału w systemie konfiguracji. Dzięki temu użytkownicy kanału niestandardowego mogą konfigurować kanał przy użyciu pliku config tak samo, jak w przypadku konfigurowania powiązania dostarczonego przez system, takiego jak NetTcpBinding
lub powiązania niestandardowego TcpTransportBindingElement
przy użyciu polecenia .
Podczas pisania niestandardowego kanału i uwidaczniania go w modelu programowania przy użyciu nowego BindingElement
lub Binding
, należy utworzyć zestaw klas, aby można było skonfigurować BindingElement
go Binding
przy użyciu pliku .config. Możesz użyć narzędzia ConfigurationCodeGenerator, aby wygenerować te klasy i ulepszyć środowisko klienta.
Aby skompilować narzędzie
Aby skompilować rozwiązanie, postępuj zgodnie z instrukcjami w temacie Building the Windows Communication Foundation Samples (Tworzenie przykładów programu Windows Communication Foundation).
Kompilowanie rozwiązania generuje jeden plik: ConfigurationCodeGenerator.exe. Plik SampleRun.cmd zawiera przykładowy wiersz polecenia, który pokazuje, jak używać tego narzędzia do generowania klas dla przykładu Transport: UDP .
Aby uruchomić narzędzie
W wierszu polecenia wpisz następujące polecenie, jeśli masz zarówno typ niestandardowy
BindingElement
, jak i typ niestandardowyBinding
:ConfigurationCodeGenerator.exe /be:YourCustomBindingElementTypeName /sb:YourCustomStdBindingTypeName /dll:TheAssemblyWhereTheseTypesAreDefined
Lub wpisz następujące polecenie, jeśli masz tylko typ niestandardowy
BindingElement
:ConfigurationCodeGenerator.exe /be:YourCustomBindingElementTypeName /dll: TheAssemblyWhereThisTypeIsDefined
Lub wpisz następujące polecenie, jeśli masz tylko typ niestandardowy
Binding
:ConfigurationCodeGenerator.exe /sb:YourCustomStdBindingTypeName /dll:TheAssemblyWhereThisTypeIsDefined
Polecenie generuje trzy pliki .cs dla
BindingElement
(jeśli określono /be: opcja), pięć .cs plików dla standarduBinding
(jeśli określono /sb: opcja) i .xml pliku.Jeśli użyto opcji /be, jeden z plików .cs implementuje
BindingElementExtensionSection
element powiązania. Ten kod uwidacznia systemBindingElement
konfiguracji, aby inne powiązania niestandardowe mogły używać elementu powiązania. Inne pliki mają klasy reprezentujące wartości domyślne i stałe. Pliki mają//TODO
komentarze, aby przypomnieć o zaktualizowaniu wartości domyślnych.Jeśli określono /sb opcji, dwa z plików .cs implementują
StandardBindingElement
odpowiednio element iStandardBindingCollectionElement
, który uwidacznia standardowe powiązanie z systemem konfiguracji. Inne pliki mają klasy reprezentujące wartości domyślne i stałe. Pliki mają//TODO
komentarze, aby przypomnieć o zaktualizowaniu wartości domyślnych.Jeśli określono /sb: opcja CodeToAddTo<YourStdBinding>.cs zawiera kod, który należy ręcznie dodać do klasy, która implementuje powiązanie standardowe.
Plik SampleConfig.xml zawiera kod konfiguracji, który należy dodać do pliku konfiguracji, który rejestruje programy obsługi zdefiniowane w poprzednim kroku 1 lub 2.