Castle windsor wcf facility - 通过配置文件添加客户端

Sai*_*Sai 1 castle-windsor c#-4.0

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

我在互联网上看到的大多数例子都是使用代码注册它们.我不能使用它,因为我的客户端需要更多的灵活性来操作配置文件,如果需要的话.下面是我提出的代码,但它无法从配置文件中读取客户端端点的配置.

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

请指教.

提前致谢

西

wex*_*man 6

我是这样做的:

container.Register(
   Component.For<ISomeService>()
      .AsWcfClient(WcfEndpoint.FromConfiguration("*"))
);
Run Code Online (Sandbox Code Playgroud)

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

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