博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深入理解ASP.NET 5的依赖注入
阅读量:5758 次
发布时间:2019-06-18

本文共 908 字,大约阅读时间需要 3 分钟。

(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注。)

题记:ASP.NET 5整个底层都架构于依赖注入机制之下,今天介绍的文章详细介绍了内置依赖注入容器。

在ASP.NET之前的版本中,虽然各个框架(MVC、WEB API、SignalR)都支持依赖注入,但是由于框架是相互独立的,所以使用依赖注入的方式都有所差异。Katana曾经期望通过OWIN来统一这些差异,直到ASP.NET 5中才得以实现。这得利于整个ASP.NET 5都是构建于依赖注入机制之下,且内置了一个依赖注入容器。在这篇文章《》中,就深入介绍了ASP.NET 5引入的依赖注入机制和默认容器的相关接口包括运行原理。

ASP.NET 5之所以能统一依赖注入的方式,是因为对依赖注入进行了一个更为高级的抽象,并提供了一系列接口来封装这种抽象。

  • IServiceProvider:这是整个依赖注入机制的主接口,让开发人员可以获取到之前注册到容器中的对象实例。其只提供一个方法:GetService(Type)。这个方法可以对应到Autofac中的container.Resolve<Service>()或者Ninject中的kernel.Get<Service>()。
  • IServiceScope:这是把IServiceProvider包装为Scoped(限定范围内)容器的接口。比如通过HttpContext.RequestServices属性获取到的IServiceProvider实例即是一个Scoped的。
  • IServiceScopeFactory:要创建IServiceScope的实例就需要依靠这个工厂接口。
  • ServiceLifetime:提供了对象作用域的枚举(Singleton、Scoped和Transient)。
  • ServiceDescriptor:服务描述来构建一个容器的所有信息。

文章后面还详细介绍了依赖注入机制的具体使用方式和运行原理,涉及到:注册服务、处理请求(获得对象实例)。最后还以Autofac为例介绍了如何使用第三方的IoC框架。

更细节的文字大家可以“阅读原文”。

原文链接:

转载地址:http://brpkx.baihongyu.com/

你可能感兴趣的文章
开发者报 | Github造假产业链曝光,花钱就能买Star;黑客又多一个可以偷你密码的方法了...
查看>>
git 相关开发常用
查看>>
编码服务正在步入云端
查看>>
我的友情链接
查看>>
mysql备份
查看>>
数组合并
查看>>
Linux学习笔记--Linux文件管理类命令详解
查看>>
进程间的通信方式
查看>>
数据库连接池(更新中)
查看>>
短时间学会用思维导图写精彩文章
查看>>
分布式服务框架-原理与实践:11---服务灰度发布-学习笔记
查看>>
Struts2实现图片上传功能
查看>>
删除大文件日志
查看>>
IDEA中使用Git
查看>>
手动编译java
查看>>
java线程问题
查看>>
我的友情链接
查看>>
搭建yum源站
查看>>
mysql配置
查看>>
开源代码分析研究 之 BugNet (2008年1月14日更新 第一章BugNet 简介 已完成)
查看>>