博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.Net Core Linux centos7行—IOC模块
阅读量:5222 次
发布时间:2019-06-14

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

.net core中可以说是用了全新的IOC模板,定义在Microsoft.Extensions.DependencyInjection下。提供了一套标准的接口。并提供了默认实现。并且大范围使用着,处处都体现着IOC的设计思想。

StartupConfigureServices方法中,集中对服务进行配置。可以看到默认的.net core mvc默认项目已经为我们注入了不少服务。看注释也就懂了,也没什么特别好解释的(^_^)。

最后2行代码是自定义配置的注入。需要Microsoft.Extensions.Options.ConfigurationExtensions package的支持

AddOptions 针对Ioptions<POCOModel>提供管理,缓存,配置变动自动支持服务,即配置文件有改动会自动反应在应用程序中,且应用程序不需要自动重启。不像以前的web.config.有任何改动都会自动重启。

Configure<T>(IConfiguration).表示配置的内容来自配置文件。

IndexSetting是新建的一个model,即配置项。

配置文件中的IndexSetting

   

   

目前.net core ioc有3种获取service方式。

1.ctor注入。

2.action 参数注入

3.容器获取方式

   

   

当然,应对一般情况,这种方式也许够用了。but,现实显然不是这样的。通常我们需要更强大的ioc lib。目前官方推荐的更强大的ioc lib。也是业界大名鼎鼎的autofac。autofac的介绍园子里面一大把,并且写的很详细,很好。就不多介绍了。

官方文档:http://docs.autofac.org/en/latest/integration/aspnetcore.html

asp.netasp.net core时代的区别主要有几点。

1.Use InstancePerLifetimeScope instead of InstancePerRequest.

简单来说就是生命周期的统一。

2.No more DependencyResolver.

没有以前的DependencyResolver入口了

3.No manual controller registration.

不再需要注册自己的controllerfactory了,也包括owin中的middleware。

   

需要使用它,当然需要添加它

针对StartupConfigureServices方法做一些改造

使用任何第三方ioc,都需要返回IServiceProvider。替换系统的默认IServiceProvider。否则不能生效。

然后创建autofac的build,一切照旧,我们就可以愉快的使用autofac啦。

转载于:https://www.cnblogs.com/calvinK/p/5621262.html

你可能感兴趣的文章
Jquery选择器
查看>>
python 类型转换
查看>>
<asp:DropDownList>用法
查看>>
常用网站
查看>>
IOS
查看>>
移动端唤起QQ聊天
查看>>
Eigen库的使用笔记
查看>>
LeetCode 604. Design Compressed String Iterator (设计压缩字符迭代器)$
查看>>
简明Python教程:模块
查看>>
Github: 从github上拉取别人的源码,并推送到自己的github仓库
查看>>
Windows下cwRsync搭建步骤
查看>>
sshpass+ssh-copy-id免交互分发公钥到多台服务器
查看>>
MVC的概念
查看>>
【bzoj1042】[HAOI2008]硬币购物-递推与动规-容斥原理
查看>>
bzoj 4407 于神之怒加强版 (反演+线性筛)
查看>>
导弹拦截
查看>>
7.数组
查看>>
帮助你使用数据库方式访问JSON数据的javascript类库-TaffyDB
查看>>
正则表达式
查看>>
VS2015使用scanf报错解决方案
查看>>