InvalidOperationException - 该类型没有可访问的构造函数

时间:2013-11-12 20:23:33

标签: wcf unity-container resolve

我遇到使用Unity解析WCF的问题。

如下所示注册WCF频道

 string serviceUrl = "http://localhost:8000/AdvancedPersonSelectService.svc";
    IocContainer.Instance.RegisterType<IPersonAdvancedPersonSelectService, AdvancedPersonSelectService>(                      
                   new InjectionFactory(
                   c => WcfClientProxyBuilder.CreateProxy<IPersonAdvancedPersonSelectService>(serviceUrl)));

IocContainer.Instance是Unity容器
wcfClientProxyBuilder返回WCF频道。

通过

解决这个问题
      var personAdvancedPersonSelectService = IocContainer.Instance.Resolve<IPersonAdvancedPersonSelectService>("AdvancedPersonSelectService");
        var getUserNameresponse = personAdvancedPersonSelectService.GetUserName(request);

此时我收到错误

依赖项的解析失败,type =“Healthphone.ConcordiaCCMS.Common.ServiceContracts.IPersonAdvancedPersonSelectService”,name =“AdvancedPersonSelectService”。 在解决时发生异常。

异常是:InvalidOperationException - 类型IPersonAdvancedPersonSelectService没有可访问的构造函数。

在例外时,容器是:

解析Healthphone.ConcordiaCCMS.Common.ServiceContracts.IPersonAdvancedPersonSelectService,AdvancedPersonSelectService

我已经尝试过本网站提到的所有选项,如何解决这个问题,但对我来说没什么用。

可以请一些人帮忙。

提前致谢。

0 个答案:

没有答案