dependency-injection - ASP.NET 5 如何注入(inject)启动的依赖项?

标签 dependency-injection asp.net-core

我在学习ASP.NET 5 documentation (它比旧的更好。)我知道 ASP.NET 5 包含一个简单的内置控制反转 (IoC) 容器,默认情况下支持构造函数注入(inject)。据我所知,配置服务和依赖项是在 ConfigureServices() 内部完成的。方法。
ConfigureServices()方法在 StartUp 之后调用方法。

所以我的问题是 : ASP.NET 5 如何在内部注入(inject) Startup 的依赖项?

我想知道,因为如果我想注入(inject)另一个依赖项,例如 IFooEnviroment我怎样才能做到这一点?

最佳答案

这个逻辑存在于 Hosting ASP.NET 5 层:

  • Startup类型是 determined
  • 托管层registers the required runtime servicesIServiceCollection
  • 内部service provider is build
  • Startup 类的实例is created

  • 您当然可以在 ConfigureServices 中注册自己的服务.但是正如您已经想到的那样,它们在构造函数中不可用。无法将您自己的服务添加到运行时服务。这是有道理的,因为运行时服务和应用程序服务之间应该有区别。

    但是,您可以注入(inject)在 ConfigureServices() 中注册的服务。 Configure() 中的方法方法。

    关于dependency-injection - ASP.NET 5 如何注入(inject)启动的依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32080665/

    相关文章:

    asp.net - 带有身份的 ASP.NET Core 2.0 中的 Cookie 过期

    asp.net-core - 如何在 Visual Studio 2022 中使用 React(独立)部署 ASP.NET Core Web API 项目

    asp.net-core - 如何在 ASP .Net Core MVC Web 应用程序中设置视频背景

    asp.net-core - 当 JsonConverter 无效时生成 400 BadRequest?

    c# - 使用相同的接口(interface)调用多个类

    java - Spring 以合格的 bean 为条件

    asp.net-mvc-3 - 如何使用 Ninject 将服务注入(inject)到 MVC 3 FilterAttributes 中?

    javascript - 如何使用组向信号器中的特定用户发送消息?

    javascript - 资源解释为脚本,但在注入(inject) angular-route.map 时以 MIME 类型 text/html 传输

    c# - 如何将依赖项传递给自定义 .NET Core ILoggerProvider