我的小型Web API项目(通过SelfHostHttpServer托管)有一些我想要注入控制器的依赖项.为了做到这一点,我实现了IDependencyResolver并调用了httpConfig.ServiceResolver.SetResolver. 这样可以正常工作,但似乎
这样可以正常工作,但似乎我需要满足Web API所需的内部依赖性.我第一次运行它,我看到它需要解析控制器工厂,所以我在我的容器中添加了一个DefaultHttpControllerFactory实例.现在我刷新页面的每一段时间都崩溃了,它崩溃了框架试图解决的下一个未解决的依赖.
我是以错误的方式解决这个问题,还是我真的应该尝试猜测所有默认实现并强制通过此崩溃修复 – 刷新周期来发现Web API框架正常工作所需的依赖关系?
您的解析器正在做什么,以防它无法解决依赖关系?正确的行为应该返回null. ASP.NET Web API DependencyResolver(httpConfig.ServiceResolver)在内部使用两个解析器:>你通过SetResolver设置的那个(用户rosolver)
>内置的DefaultServiceResolver
如果用户解析器为依赖项返回null,那么Web API将回退到DefaultServiceResolver,它可以处理所有内置依赖项.