设为首页 - 加入收藏 PHP编程网 - PHP站长网 (http://www.52php.cn)- 电商,百科,编程,业界,移动互联,5G,云计算,站长网!
热搜: 娱乐 服务 百度 表达
当前位置: 首页 > 编程 > 正文

深入探究ASP.NET Core Startup初始化问题(6)

发布时间:2020-12-10 22:35 所属栏目:[编程] 来源:网络整理
导读:看完ConfigureServicesBuilder类的实现逻辑,关于通过什么样的逻辑查找并执行ConfigureServices方法的逻辑就非常清晰了。首先是查找ConfigureServices方法,即包含环境变量的ConfigureServices方法名称比如(Configu

看完ConfigureServicesBuilder类的实现逻辑,关于通过什么样的逻辑查找并执行ConfigureServices方法的逻辑就非常清晰了。首先是查找ConfigureServices方法,即包含环境变量的ConfigureServices方法名称比如(ConfigureDevelopmentServices)或名为ConfigureServices的方法,返回的是ConfigureServicesBuilder对象。然后执行ConfigureServicesBuilder的Build方法,这个方法里包含了执行ConfigureServices的规则,即ConfigureServices只能包含一个参数且类型为IServiceCollection,然后将当前程序中存在的IServiceCollection实例传递给它。

Configure的装载

我们常使用Startup的Configure方法去配置中间件,默认生成的Configure方法为我们添加了IApplicationBuilder和IWebHostEnvironment实例,但是其实Configure方法不仅仅可以传递这两个参数,它可以通过参数注入在IServiceCollection中注册的所有服务,究竟是如何实现的呢,接下来我们继续探究UseStartup方法查找源码查看想实现
[点击查看源码👈],我们抽离出来核心实现如下

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

推荐文章
热点阅读