加载顺序:appsetting.json–》appsetting.envorament.json–》user secret–》环境变量–》command line
解决乱码
context.Response.ContentType = "text/plain;charset=utf-8";//context.响应.内容类型 = 纯文本;字符集= utf-8;
中间件
app.Use(async (context,next) =>
{
context.Response.ContentType = "text/plain;charset=utf-8";//context.响应.内容类型 = 纯文本;字符集= utf-8;
await context.Response.WriteAsync("这是第一个中间件");
await next();//调取下一个中间件
});
app.Run(async (context) =>
{
await context.Response.WriteAsync("这是第二个中间件");
});
管道流程
public void Configure(IApplicationBuilder app, IWebHostEnvironment env,ILogger<Startup> logger)//使用日志管道,起名
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
//use next
app.Use(async (context,next) =>
{
context.Response.ContentType = "text/plain;charset=utf-8";
logger.LogInformation("MW1:传入请求");//1
await next();
logger.LogInformation("MW1:传出响应");//5
});
app.Use(async (context, next) =>
{
context.Response.ContentType = "text/plain;charset=utf-8";
logger.LogInformation("MW2:传入请求");//2
await next();
logger.LogInformation("MW2:传出响应");//4
});
app.Use(async (context, next) =>
{
context.Response.ContentType = "text/plain;charset=utf-8";
await context.Response.WriteAsync("MW3:处理请求,并生成响应");//6
logger.LogInformation("MW3:处理请求,并生成响应");//3
});
}