ASP.NET Core中可以自定义中间件对Request或Response进行额外处理。
下文代码已ASP.NET Core MVC为测试环境。
public class Msg
{
public static string Message = " TestString: ";
}
public class M1
{
private RequestDelegate nextDelegate;
public M1(RequestDelegate next)
{
nextDelegate = next;
}
public async Task Invoke(HttpContext httpContext)
{
Msg.Message += " M1_1 ";//1
await nextDelegate.Invoke(httpContext);//2
Msg.Message += " M1_2 ";//3
await httpContext.Response.WriteAsync(" M1 ");//4
Msg.Message += " M1_3 ";//5
await httpContext.Response.WriteAsync("\n\r"+ Msg.Message);//6
}
}
public class M2
{
private RequestDelegate nextDelegate;
public M2(RequestDelegate next) => nextDelegate = next;
public async Task Invoke(HttpContext httpContext)
{