Asp.net web api2 如何确定在DryIoc注册期间遗漏了哪个接口的推进?

Asp.net web api2 如何确定在DryIoc注册期间遗漏了哪个接口的推进?,asp.net-web-api2,dryioc,Asp.net Web Api2,Dryioc,如何找到未注册但需要的接口名? 我刚刚得到这个错误: 类型“Test.TestController”没有默认构造函数 但我需要缺少的接口的名称,因为其中一些接口在构造函数中具有多级接口 我使用以下扩展: DryIoc.dll v4.0.7 DryIoc.WebApi.dll v4.0.0 DryIoc.Web.dll v4.0.0 DryIoc.Mvc.dll v4.0.0 在WebApi中: public static void Register(HttpConfig

如何找到未注册但需要的接口名?
我刚刚得到这个错误:

类型“Test.TestController”没有默认构造函数

但我需要缺少的接口的名称,因为其中一些接口在构造函数中具有多级接口

我使用以下扩展:

  • DryIoc.dll v4.0.7
  • DryIoc.WebApi.dll v4.0.0
  • DryIoc.Web.dll v4.0.0
  • DryIoc.Mvc.dll v4.0.0
在WebApi中:

    public static void Register(HttpConfiguration config)
    {
        var container = new Container().WithWebApi(config, throwIfUnresolved: type => true);

        //...
    }
在Mvc中:

    public CustomControllerFactory()
    {
        Container = new Container().WithMvc(throwIfUnresolved: type => true);

        // ...
    }
例外消息是:

DryIoc.ContainerException:'无法解析ModelMetadataProvider IsResolutionCall 来自具有ambient ScopeContext的容器DryIoc.AsyncExecutionFlowScopeContext不带范围 未找到任何服务注册 在0个规则中未找到动态注册。DynamicServiceProviders 在0个规则中未找到任何内容。UnknownServiceResolver'


WithWebApi和WithMvc扩展方法都接受可选的throwIfUnresolved参数

它可以这样使用:

throwIfUnresolved: type => Debugger.IsAttached && type.Name.EndsWith("Controller")

这将指示框架在调试模式下抛出原始DryIoc异常。

WebAPI和MVC扩展方法都接受可选的throwIfUnresolved参数

它可以这样使用:

throwIfUnresolved: type => Debugger.IsAttached && type.Name.EndsWith("Controller")

这将指示框架在调试模式下抛出原始DryIoc异常。

您使用什么DryIoc扩展?DryIoc.WebApi v4.0.0和DryIoc.Mvc v4.0.0您使用什么DryIoc扩展?DryIoc.WebApi v4.0.0和DryIoc.Mvc v4.0.0我收到以下异常消息:DryIoc.ContainerException:“无法解析ModelMetadataProvider IsResolutionCall。”从具有ambient ScopeContext DryIoc.AsyncExecutionFlowScopeContext的容器,该容器不具有作用域,其中在0个规则中未找到服务注册和动态注册。DynamicServiceProviders,在0个规则中未找到任何内容。UnknownServiceResolver'这意味着未找到
ModelMetadataProvider
依赖项。我获得此异常消息:DryIoc.ContainerException:“无法从具有环境作用域上下文的容器解析ModelMetadataProvider IsResolutionCall DryIoc.AsyncExecutionFlowScopeContext,其中没有在规则的0中找到服务注册,也没有在规则的0中找到动态注册。DynamicServiceProviders,并且在规则的0中找不到任何内容。”规则.UnknownServiceResolver'表示未找到依赖项
ModelMetadataProvider