ASP.NET Core 中的框架级依赖注入

  • 时间:2017-11-09
  • 分类:ASP.NET
  • 835 人浏览
1、ASP.NET Core 中的依赖注入

此示例展示了框架级依赖注入如何在 ASP.NET Core 中工作。 其简单但功能强大,足以完成大部分的依赖注入工作。框架级依赖注入支持以下 scope:

Singleton — 总是返回相同的实例 Transient — 每次都返回新的实例 Scoped — 在当前(request)范围内返回相同的实例

假设我们有两个要通过依赖注入来进行工作的工件:

PageContext — 自定义请求上下文 Settings — 全局应用程序设置

这两个都是非常简单的类。PageContext 类为布局页面提供当前页面标题的标题标签。

2、注册依赖

在 UI 构建块中使用这些类之前,需要在应用程序启动时注册这些类。该工作可以在 Startup 类的 ConfigureServices() 方法中完成。

现在可以将这些类注入到支持依赖注入的控制器和其他 UI 组件中。

3、向控制器注入实例

我们通过 Home 控制器中的 PageContext 类分配页面标题。

这种分配页面标题的方式不错,因为我们不必使用 ViewData,这样更容易受支持多语言应用程序支持。

4、向视图注入实例

现在控制器的 action 中分配了页面标题,是时候在布局页面中使用标题了。 我在页面的内容区域添加了标题,所以在 tech.io 环境中也很容易看到。为了能在布局页面中使用到 PageContext,我使用了视图注入(下面代码片段中的第一行)。

5、参考材料 ASP.NET 5 中的依赖注入(Gunnar Peipman) ASP.NET Core:使用视图注入(Gunnar Peipman)

来源:本文为线上采编,如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除!
标签: 框架 依赖注入