前言 这里介绍一下.net core的依赖注入框架,其中其代码原理在我的另一个整理<<重新整理 1400篇>>中已经写了,故而专门整理应用这一块. 以下只是个人整理,如有问题,望请指点. 正文 为什么有这个依赖注入呢? 假设人们面临这样一个问题. 比如说一个人做飞机去北京.那么人和飞机有什么关系呢?人和北京有什么关系呢? 假设有3个主体类,一个是人一个是飞机一个是北京.他们之间到底应该怎么组织呢? 先说人和北京的关系,人要去北京,那么飞机就是一个交通工具.是的,只是一个交通工具,那…
前言 介绍第三方依赖注入框架Autofac,看看为我们解决什么问题. 下面介绍4个点: 命名注册 属性注册 aop 注入 子容器命名 正文 为什么我们需要使用第三方框架?第三方框架为我们做了什么?第三方框架扩展了哪一个部分? 这里主要介绍一下Autofac. Autofac 主要是替换了我们ServiceProviderFactory 这个东西. public interface IServiceProviderFactory<IContainerBuilder> 我们使用的时候这样用: Ho…
前言 该章演示依赖注入中,对象的释放行为. 紧接上文表示,演示: services.AddSingleton<IMySingletonService, MySingletonService>(); services.AddSingleton<IMySingletonService>(new MySingletonService()); services.AddSingleton<IMySingletonService>(ServiceProvider => { r…
前言 简单整理一下HttpClientFactory . 正文 这个HttpFactory 主要有下面的功能: 管理内部HttpMessageHandler 的生命周期,灵活应对资源问题和DNS刷新问题 支持命名话.类型化配置,集中管理配置,避免冲突. 灵活的出站请求管道配置,轻松管理请求生命周期 内置管道最外层和最内层日志记录器,有information 和 Trace 输出 核心对象: HttpClient HttpMessageHandler SocketsHttpHandler Dele…
前言 简单整理一下工作单元模式. 正文 工作单元模式有3个特性,也算是其功能: 使用同一上下文 跟踪实体的状态 保障事务一致性 工作单元模式 主要关注事务,所以重点在事务上. 在共享层的基础建设类库中加入: /// <summary> /// 工作单元接口 /// </summary> public interface IUnitOfWork : IDisposable { /// <summary> /// 保存变更 /// </summary> ///…
前言 简单整理一下路由和终节点. 正文 路由方式主要有两种: 1.路由模板方式 2.RouteAttribute 方式 路由约束: 1.类型约束 2.范围约束 3.正则表达式 4.是否必选 5.自定义 IRootConstaint URL 生成 1.LinKGenerator 2.IUrlHelper 先搭建一个swagger: services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo {Title = &q…
前言 本来想整理到<<重新整理.net core 计1400篇>>里面去,但是后来一想,整理 .net core 实践篇 是偏于实践,故而分开. 因为是重新整理,那么就从配置开始整理.以下只是个人理解,如有错误,望请指点谢谢. 正文 在我们创建好一个应用的时候,那么出现在我们视野的是一个这样的东西: public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Buil…
本文翻译自:http://www.tutorialsteacher.com/core/dependency-injection-in-aspnet-core ASP.NET Core支持依赖注入,依赖注入的对象通过构造函数或者 Ioc container 内置的方法进行注入. 内置的 IoC Container ASP.NET Core框架包含了开箱即用的 Ioc容器,这个容器相比第三方的容器功能会有不足.如果想要更多例如 auto-registration.scanning.intercept…
系列目录 上|理论基础+实战控制台程序实现AutoFac注入 下|详解AutoFac+实战Mvc.Api以及.NET Core的依赖注入 前言 本来计划是五篇文章的,每章发个半小时随便翻翻就能懂,但是第一篇发了之后,我发现.NET环境下很多人对IoC和DI都很排斥,搞得评论区异常热闹. 同一个东西,在Java下和在.NET下能有这么大的差异,也是挺有意思的一件事情. 所以我就把剩下四篇内容精简再精简,合成一篇了,权当是写给自己的一个备忘记录了. GitHub源码地址:https://github…
在开发.NET Core web服务的时候,我们习惯使用自带的依赖注入容器来进行注入. 于是就会经常进行一个很频繁的的重复动作:定义一个接口->写实现类->注入 有时候会忘了写Add这一步,看到屏幕上的报错一脸懵逼,然后瞬间反应过来忘了注入了.赶紧补上serviceCollection.AddXXX这句话 虽然说有很多开源框架已经实现了类似的工作,比如AutoFac,Unity等依赖注入框架.但是这些库都太庞大了,我个人还是喜欢轻量级的实现. 定义一个枚举 [AttributeUsage(At…