Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
配置问题中带有Unity 5.x.x配置的Wcf服务_Wcf_Dependency Injection_Unity Container - Fatal编程技术网

配置问题中带有Unity 5.x.x配置的Wcf服务

配置问题中带有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) {

我对如何在WcfSvcFactory类的上下文中处理从Unity 1.0.0到Unity 5.x.x的更改感到困惑:

使用Unity 1.0.0,我实现/覆盖了ConfigureContainer方法,如下所示:

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,但没有成功。我现在不知道该做什么了,如果有任何帮助,我将不胜感激