配置通道工厂

ConfigurationChannelFactory 示例介绍了 ConfigurationChannelFactory<TChannel> 的用法。 ConfigurationChannelFactory<TChannel> 允许集中管理 WCF 客户端配置。 在应用程序域加载时间之后选择或更改配置的情况中,这也很有用。

演示

ConfigurationChannelFactory<TChannel>

讨论

此示例演示如何使用 ConfigurationChannelFactory<TChannel> 将特定配置文件添加到客户端应用程序,无需使用默认的应用程序配置文件。

此示例由两个项目组成。 第一个项目是一个简单的服务,用于回复来自客户端的消息。 第二个项目是一个客户端应用程序,它使用 ConfigurationChannelFactory<TChannel> 为 Test.config 配置文件生成两个 ExeConfigurationFileMap 对象,然后使用这两个对象与服务通信。 这两个客户端都使用 Test.config中指定的配置与服务通信。

以下代码将自定义配置文件添加到客户端应用程序。

ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = "Test.config";
Configuration newConfiguration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);

ConfigurationChannelFactory<ICalculatorChannel> factory1 = new ConfigurationChannelFactory<ICalculatorChannel>("endpoint1", newConfiguration, new EndpointAddress("http://localhost:8000/servicemodelsamples/service"));
ICalculatorChannel client1 = factory1.CreateChannel();

设置、生成和运行示例

  1. 使用管理员权限打开 Visual Studio。

  2. 右键单击 ConfigurationChannelFactory 解决方案(2 个项目),然后选择“ 属性”。

  3. “常用属性”中,选择“ 启动项目”,然后单击“ 多个启动项目”。

  4. 服务项目移动到列表的开头,并执行动作“启动”,然后将客户端项目移至服务项目之后,再次执行动作“启动”,确保客户端项目在服务项目之后执行。

  5. 单击 “确定”,然后按 F5 (或 Ctrl+F5)运行示例。