【发布时间】:2010-01-14 18:24:33
【问题描述】:
我有一个项目,我正在尝试使用 DI。我正在使用 Unity,对于正常的程序集和注入来说,一切似乎都很好。
我正在尝试进一步打破与 WCF 服务的依赖关系。我要注入的 WCF 服务是在运行时创建的,目前没有使用 DI,而且我不使用 VS .net 生成的代理:
MyService = new ChannelFactory<IMyService>("BasicHttpBinding_IMyService").CreateChannel();
上述端点在 web.config 中:
<endpoint address="http://localhost:35806/MyService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyService"
contract="Interfaces.IMyService" name="BasicHttpBinding_IMyService" />
我试图弄清楚如何通过 web.config 将此 WCF 服务映射到接口,以便我可以使用构造函数注入
在 web.config 中,法线映射使用“mapTo”进行,您可以在其中指定接口别名和先前定义的类的别名。
<type type="IMyService" mapTo="MyService">
<lifetime type="singleton"/>
</type>
由于 WCF 服务代理是在运行时动态创建的,因此我没有对“MyService”类的此引用,而是需要从服务的"BasicHttpBinding_IMyService" 端点提取。
关于如何实现这一点的任何想法?
【问题讨论】:
标签: .net wcf dependency-injection web-config unity-container