没有Castle Windsor,我会写:
var channelFactory = new ChannelFactory<ICredentialService>("Default");
ICredentialService credentialService = channelFactory.CreateChannel();
如何使用Castle Windsor API注册Wcf服务合约?
答案 0 :(得分:3)
将Castle Windsor WCF integration facility Nuget包添加到您的项目中
将WcfFacility
添加到您的容器中:
container.AddFacility<WcfFacility>();
然后,当您对服务接口具有依赖性时,告诉容器提供WCF客户端:
container.Register(
Component.For<ICredentialService>()
.AsWcfClient(WcfEndpoint.FromEndpoint("EndpointName")));
然后,它将使用.config中的命名端点来检索端点的设置。
每当从容器解析的类对ICredentialService
具有构造函数依赖时,容器将注入WCF客户端。