6

这是我几个小时以来一直在努力解决的难题。这是背景:

  1. 我们Unity IoC在 MVC4 网络应用程序中使用
  2. 我们有几个ApiControllers (IHttpController)和一堆常规控制器 ( IController)
  3. 作品解析度IControllers
  4. 的解决方案IHttpControllers几个月来一直运行良好,现在由于类型解析错误而失败,其中包含详细信息“ The type InjectionPolicy cannot be constructed. You must configure the container to supply this value
  5. 常规控制器和 Api 控制器都采用ICustomerService依赖关系,该依赖关系具有依赖关系,而依赖ICustomerRepository关系又具有IClient依赖关系,但这些都不是新的或不同的。
  6. 从解决问题中删除ICustomerService依赖ApiController项(但该接口已明确配置并在其他任何地方工作)
  7. 我们已经在HttpControllerActivatorUnity 中注册了一个,并且正在拦截调用以解决IHttpControllers- 它在 container.Resolve 上失败,即使查看容器,控制器也显然在那里。

我已经搜索了这个特定的错误,但什么也没找到。有没有人见过它,或者它给你任何关于可能发生的事情的线索?

非常感谢!

更新:我已将其缩小到ICustomerRepository解决方案(再次,在所有其他流程中工作)。错误是:

Resolving Xxx.CustomerRepository,(none) (mapped from Xxx.ICustomerRepository, (none))
    Resolving Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior,(none)
    Resolving parameter "policies" of constructor Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior(Microsoft.Practices.Unity.InterceptionExtension.CurrentInterceptionRequest interceptionRequest, Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy[] policies, Microsoft.Practices.Unity.IUnityContainer container)
      Resolving Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy[],(none)
4

0 回答 0