1:ASP.NET CORE 的应用程序的入口
2:可以放在项目的任何地方
3:即使不被定义为Publish也是可以被强制加载的
4:当存在多个Startup类时,按照根目录,字母排序选择
5:通过依赖注入的形式配置
6:包含Configuration(必须),ConfigureServices(可选)
------------------------------------------------------包含方法--------------------------------------------------
Configure方法(必须)
用来指定应用程序如何响应一个HTTP请求,方可以通过依赖注入的形式来封装一些中间件(middleware)来辅助处理请求。该方法必须包含参数IApplicationBuilder,其他参数可以通过需要选择是否需要配置。如果新建一个默认的mvc项目,系统则默认也带上 IHostingEnvironment 与 ILoggerFactory
ConfigureServices(可选)
主要用来配置应用程序内部的一些服务,比如:配置,邮件,短信等之类的东西,此方法配置一些东西需要在Configure之前调用,Configure管道中用到的一些扩展需要依赖自ConfigureServices。
---------------------------------------------------------包含对象-----------------------------------------------
ASP.NET CORE提供了一些服务对象可供使用,使用时只需要在Startup构造函数,Configure方法与ConfigureServices方法包含一个合适的接口即可。提供的服务对象如下:
IApplicationBuilder
被用来构建应用程序的请求管道,只可以在Configure中使用
IApplicationEnvironment
提供访问应用程序的属性,类似ApplicationName,ApplicationVersion以及ApplicationBasePath。可以在Startup的构造函数和Configure中使用
IHostingEnvironment
提供当前的EnvironmentName,WebRootPath以及Web根目录提供者,可以在Startup与Configure方法中使用
ILoggerFactory
日志,通常放到Configure中配置
---------------------------------------------------------汇总整理-----------------------------------------------
Startup类请求顺序:
Constructor-ConfigureServices-Configure
每个方法可选参数:
Constructor:IApplicationEnvironment,IHostingEnvironment,ILoggerFactory
ConfigureServices:IServiceCollcetion
Configure:IApplicationBuilder,IApplicationEnvironment,IHostingEnvironment,ILoggerFactory
注:ILoggerFactory
---------------------------------------------------------写在最后-----------------------------------------------
统一化的配置整合,让消息管道配置更简单整洁,通过依赖注入的形式可以更好的扩展及使用这些管道功能