// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. //Configure 是asp.net core程序用来具体指定如何处理每个http请求的,例如我们可以让程序知道我们使用mvc来处理http请求, //那就调用app.UserMvc()这个方法,但是目前所有的http请求都会返回“hello world” //执行顺序 Progra.Main()-->ConfigureServices()-->Configure() public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, MyDbContext dbContext) { /* * 请求管道: 那些处理http request并返回responses的代码就组成了request pipeline(请求管道). * 中间件: 我们可以做的就是使用一些程序来配置那些请求管道 request pipeline以便处理requests和responses. * 比如处理验证(authentication)的程序, 连MVC本身就是个中间件(middleware). * 每层中间件接到请求后都可以直接返回或者调用下一个中间件. 一个比较好的例子就是: * 在第一层调用authentication验证中间件, 如果验证失败, 那么直接返回一个表示请求未授权的response. */ //添加种子数据,自己写的 dbContext.EnsureSeedDataForContext(); //添加Nlog loggerFactory.AddNLog(); if (env.IsDevelopment()) { //一个middleware, 当exception发生的时候, 这段程序就会处理它. //而判断env.isDevelopment() 表示, 这个middleware只会在Development环境下被调用. app.UseDeveloperExceptionPage(); } else { //正式环境中需要捕获并记录exception,需要使用这个middleware app.UseExceptionHandler(); } //使用状态码中间件 app.UseStatusCodePages(); //02.使用Mvc中间件 app.UseMvc(); /* * app.Run(async (context) => * { * //int i = 0,j=10; * //int z = j / i; * await context.Response.WriteAsync("Hello World!"); * }); */ }