ASP.NET Core(一) 应用初始化
一、Startup类
应用程序的入口、环境配置、服务注册;主要包含Configure()、ConfigureServices()
Configure:必须的应用程序请求处理管道
ConfigureServices:选择包含的应用程序配置服务
执行顺序:ConfigureServices执行于Configure之前
Configure 介绍以及microsoft文档
IApplicationBuilder :是对所有实现了IApplicationBuilder接口的所有类型及其对象的统称
UseStaticFiles:为当前请求路径启用静态文件服务
UseMvc:将MVC添加到IApplicationBuilder请求执行管道
IsDevelopment:检查当前的主机环境名称是否为开发
IsEnvironment:将当前主机环境名称与指定值进行比较
IsProduction:检查当前的托管环境名称是否为生产
IsStaging:检查当前的主机环境名称是否是Staging
具体更多的点击链接、ASP.NET Core 默认的注册服务还有
- ILoggerFactory、ILogger、IApplicationBuilderFactory、IHttpContextFactory、DiagnosticSource、IStartupFilter.....
public void Configure(IApplicationBuilder app, IHostingEnvironment env) {
//Debeg显示错误详细 if (env.IsDevelopment()) { app.UseBrowserLink(); app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); } //静态文件服务 app.UseStaticFiles(); app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); }
ConfigureServices 介绍以及microsoft文档
IServiceCollection 注册服务,DI容器
.........
public void ConfigureServices(IServiceCollection services) { //获取数据库连接字符串 var sqlConnectionString = Configuration.GetConnectionString("Default"); #region Mysql连接//添加数据上下文 services.AddDbContext<BasicsDBContext>(options => options.UseMySQL(sqlConnectionString)); #endregion #region 依赖注入 services.AddScoped<IUserRepository, UserRepository>();#endregion//MVC 注册 添加MVC服务 services.AddMvc(); //Session服务 services.AddSession(); }