当前位置 : 主页 > 手机开发 > 其它 >

依赖注入 – ASP.Net Web API DependencyResolver – 试图解决我不关心的众多内部依赖的

来源:互联网 收集:自由互联 发布时间:2021-06-22
我的小型Web API项目(通过SelfHostHttpServer托管)有一些我想要注入控制器的依赖项.为了做到这一点,我实现了IDependencyResolver并调用了httpConfig.ServiceResolver.SetResolver. 这样可以正常工作,但似乎
我的小型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,它可以处理所有内置依赖项.

网友评论