ConfigurationCodeGenerator
ConfigurationCodeGenerator は、カスタム チャネルの実装を構成システムに公開する際に使用できるツールです。 カスタム チャネルのユーザーは、このツールを使用することによって、NetTcpBinding
などのシステム指定のバインディングやカスタム バインドを TcpTransportBindingElement
で構成するのと同じように、.config ファイルを使用してカスタム チャネルを構成できます。
新しい BindingElement
または Binding
を使用してカスタム チャネルを記述し、プログラミング モデルに公開する場合は、.config ファイルを使用して、BindingElement
または Binding
を構成可能にするためのクラスのセットを作成する必要があります。 ConfigurationCodeGenerator ツールを使用すると、こうしたクラスを生成してユーザーの操作性を向上させることができます。
ツールをビルドするには
ソリューションをビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。
ソリューションをビルドすると、ConfigurationCodeGenerator.exe ファイルが生成されます。 SampleRun.cmd ファイルには、このツールを使用して「トランスポート: UDP」のサンプルのクラスを生成する方法を示すサンプル コマンド ラインが含まれています。
ツールを実行するには
BindingElement
のカスタム型とBinding
のカスタム型の両方がある場合は、コマンド プロンプトで次のように入力します。ConfigurationCodeGenerator.exe /be:YourCustomBindingElementTypeName /sb:YourCustomStdBindingTypeName /dll:TheAssemblyWhereTheseTypesAreDefined
BindingElement
のカスタム型のみがある場合は、次のように入力します。ConfigurationCodeGenerator.exe /be:YourCustomBindingElementTypeName /dll: TheAssemblyWhereThisTypeIsDefined
Binding
のカスタム型のみがある場合は、次のように入力します。ConfigurationCodeGenerator.exe /sb:YourCustomStdBindingTypeName /dll:TheAssemblyWhereThisTypeIsDefined
このコマンドにより、
BindingElement
用の 3 つの .cs ファイル (/be: オプションを指定した場合)、標準のBinding
用の 5 つの .cs ファイル (/sb: オプションを指定した場合)、および 1 つの .xml ファイルが生成されます。/be オプションを使用した場合、いずれかの .cs ファイルに、バインディング要素用の
BindingElementExtensionSection
が実装されます。 このコードにより、BindingElement
が構成システムに公開されます。したがって他のカスタム バインディングも、このバインディング要素を使用できます。 他のファイルには、既定値と定数を示すクラスがあります。 ファイルでは、既定値を更新する必要があることが//TODO
コメントで示されています。/sb オプションを指定した場合、2 つの .cs ファイルにそれぞれ
StandardBindingElement
とStandardBindingCollectionElement
が実装されます。これによって、標準バインディングが構成システムに公開されます。 他のファイルには、既定値と定数を示すクラスがあります。 ファイルでは、既定値を更新する必要があることが//TODO
コメントで示されています。/sb: オプションを指定した場合、CodeToAddTo<YourStdBinding>.cs には、標準バインディングを実装するクラスに手動で追加する必要のあるコードが設定されます。
SampleConfig.xml ファイルには、構成コードが含まれます。このコードは、前の手順 1. または 2. で定義されたハンドラーを登録する構成ファイルに追加する必要があります。