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
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
。