配置问题中带有Unity 5.x.x配置的Wcf服务
我对如何在WcfSvcFactory类的上下文中处理从Unity 1.0.0到Unity 5.x.x的更改感到困惑: 使用Unity 1.0.0,我实现/覆盖了ConfigureContainer方法,如下所示:配置问题中带有Unity 5.x.x配置的Wcf服务,wcf,dependency-injection,unity-container,Wcf,Dependency Injection,Unity Container,我对如何在WcfSvcFactory类的上下文中处理从Unity 1.0.0到Unity 5.x.x的更改感到困惑: 使用Unity 1.0.0,我实现/覆盖了ConfigureContainer方法,如下所示: public class WcfSvcFactory : UnityServiceHostFactory { protected override void ConfigureContainer(IUnityContainer container) {
public class WcfSvcFactory : UnityServiceHostFactory
{
protected override void ConfigureContainer(IUnityContainer container)
{
var container = new UnityContainer();
UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity");
section.Configure(container, "Service");
}
}
收到soap请求后,容器在WcfSvc构造函数中可用。但是更改为Unity 5.x.x后,被重写的方法不再有效,因为突然之间,容器参数的类型应该来自名称空间Unity:
受保护的覆盖无效配置容器(Unity.IUnityContainer容器)
因此,无法再从配置文件加载:
<register name="<Name>"
type="<Namespace>.IImplementation, <Assembly>"
mapTo="<Namespace>.Implementation, <Assembly>">
<constructor>
<param name="paramName" type="System.String" value="<ParamValue>" />
</constructor>
</register>
我尝试将Unity.IUnityContainer转换为Microsoft.Practices.Unity.IUnityContainer,但没有成功。我现在不知道该做什么了,如果有任何帮助,我将不胜感激