如何在不知道实施的情况下注册Wcf服务合同

时间:2016-08-08 08:08:00

标签: wcf castle-windsor

没有Castle Windsor,我会写:

var channelFactory = new ChannelFactory<ICredentialService>("Default"); 
ICredentialService credentialService = channelFactory.CreateChannel(); 

如何使用Castle Windsor API注册Wcf服务合约?

1 个答案:

答案 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客户端。