中间件类
app.Use,app.Map也算中间件,这是用委托来实现的中间件。可以将委托写到另外的类中。
1.创建中间件类
public class RequestCultureMiddleware
{
private readonly RequestDelegate _next;
public RequestCultureMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task InvokeAsync(HttpContext context)
{
if (!context.Request.Query.ContainsKey("name"))
await context.Response.WriteAsync("没有name啊");
else
{
await _next(context);
}
}
}
2.使用中间件类
app.UseMiddleware<RequestCultureMiddleware>();
中间件扩展方法
1.创建扩展方法
public static class RequestCultureMiddlewareExtensions
{
public static IApplicationBuilder UseRequestCulture(this IApplicationBuilder builder)
{
return builder.UseMiddleware<RequestCultureMiddleware>();
}
}
2.调用
app.UseRequestCulture();