1

我正在使用 Castle windsor wcf 设施来自行托管我的服务。在客户端,我想再次使用 wcf 工具来使用它们。我想通过循环获取所有操作合同并通过代码注册它们来动态注册客户端的服务,但从配置文件中获取端点配置。

我在互联网上看到的大多数示例都是使用代码来注册它们。我不能使用它,因为我的客户希望在需要时更灵活地操作配置文件。下面是我想出的代码,但它无法从配置文件中读取客户端端点的配置。

  container.Register( Classes
                  .FromAssemblyContaining<IXXX>()
                  .Pick()
                  .If(x => x.IsClass && HasServiceContract(x))
                  .Configure(c => c.AsWcfClient().LifeStyle.PerWcfOperation()));

请指教。

提前致谢

4

1 回答 1

6

这是我的做法:

container.Register(
   Component.For<ISomeService>()
      .AsWcfClient(WcfEndpoint.FromConfiguration("*"))
);

“*”实际上是端点名称的通配符。您也可以指定一个命名端点,但使用通配符是我的首选方式(然后它将选择具有匹配服务接口的任何端点)。

请注意 LifeStyle.PerWcfOperation 仅适用于服务器端组件,不能在 wcf 客户端上使用(也许可以,但我想它不会做任何事情)。

于 2013-08-06T07:12:36.713 回答