ConfigurationCodeGenerator

ConfigurationCodeGenerator 是一种工具,可用于向配置系统公开自定义通道实现。 这使自定义通道的用户可以通过使用 .config 文件来配置您的通道,就像配置系统提供的绑定(如 NetTcpBinding)或使用 TcpTransportBindingElement 的自定义绑定一样。

当您编写自定义通道并使用新的BindingElementBinding将其暴露给编程模型时,必须创建一组类,以便使用 .config 文件对BindingElementBinding进行配置。 可以使用 ConfigurationCodeGenerator 工具生成这些类并增强客户体验。

生成工具

  1. 要生成解决方案,请按照生成 Windows Communication Foundation 示例中的说明进行操作。

  2. 生成解决方案将生成一个文件:ConfigurationCodeGenerator.exe。 文件SampleRun.cmd有一个示例命令行,演示如何使用此工具生成 传输:UDP 示例的类。

运行此工具

  1. 如果同时具有自定义 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 生成三个 .cs 文件(如果指定了 /be: 选项),为 Binding 生成五个 .cs 文件(如果指定了 /sb: 选项),以及一个 .xml 文件。

    1. 如果您使用了 /be 选项,其中一个 .cs 文件将为您的绑定元素实现 BindingElementExtensionSection。 此代码将您的 BindingElement 公开给配置系统,使其他自定义绑定可以使用您的绑定元素。 其他文件具有表示默认值和常量的类。 这些文件有 //TODO 注释,提醒你更新默认值。

    2. 如果指定了 /sb 选项,这两个 .cs 文件分别实现了 StandardBindingElementStandardBindingCollectionElement 功能,这样就将标准绑定暴露给配置系统。 其他文件具有表示默认值和常量的类。 这些文件有 //TODO 注释,提醒你更新默认值。

      如果您指定了 /sb: 选项,CodeToAddTo<YourStdBinding>.cs 文件中包含的代码必须手动添加到实现您的标准绑定的类中。

    必须将 SampleConfig.xml 文件中包含的配置代码添加到注册前面步骤 1 或步骤 2 中定义的处理程序的配置文件中。