dependency-injection - ASP.Net Web API DependencyResolver - 试图解决许多我不关心的内部依赖关系的框架?

标签 dependency-injection asp.net-web-api

我的小型 Web API 项目(通过 SelfHostHttpServer 托管)有一些我想注入(inject) Controller 的依赖项。为了做到这一点,我实现了 IDependencyResolver并调用 httpConfig.ServiceResolver.SetResolver .

这可以正常工作,但似乎我需要满足 Web API 所需的内部依赖项。第一次运行,看到需要解析 Controller 工厂,所以添加了DefaultHttpControllerFactory的实例到我的容器。现在每次我刷新页面时,它都会因框架试图解决的下一个 Unresolved 依赖项而崩溃。

我是不是走错了路,还是我真的应该尝试猜测所有默认实现,并被迫通过这个崩溃-修复-刷新周期来发现 Web API 框架正常工作所需的依赖项?

最佳答案

如果您的解析器无法解决依赖关系,它会做什么?正确的行为应该是返回 null。 ASP.NET Web API DependencyResolver (httpConfig.ServiceResolver) 在内部使用两个解析器:

  • 你通过SetResolver设置的(用户rosolver)
  • 内置 DefaultServiceResolver

  • 如果用户解析器为依赖项返回 null,则 Web API 会回退到可以处理所有内置依赖项的 DefaultServiceResolver。

    关于dependency-injection - ASP.Net Web API DependencyResolver - 试图解决许多我不关心的内部依赖关系的框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9925591/

    相关文章:

    javascript - 将一个服务(工厂)注入(inject)另一个服务(工厂),两者都是异步的

    javascript - 如何处理到期日期的时差?

    c# - 在 Web API 中将包含 JToken 的对象序列化为 XML 时出现循环引用异常

    node.js - 在 NestJS 中模拟多个 TypeORM 存储库

    c# - 注入(inject)对象的两个实例

    java - Autowiring 在 Spring 中不起作用

    c# - 配置服务后访问身份密码选项

    asp.net-web-api - MVC5 - WebAPI 2 - 当 Controller 更改为返回 HttpResponseMessage 时,CamelCase JSON 格式化程序停止工作

    c# - 配置 ELMAH 让某些错误通过

    c# - 只返回大对象的某些属性?