中间件是被组装成一个应用程序管道来处理请求和响应的软件组件。async
using Microsoft.AspNetCore.Http; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace GrabNovelApi.MiddleWare { public class SimpleMiddleWare { private readonly RequestDelegate _next; public SimpleMiddleWare(RequestDelegate next) { _next = next; } public async Task Invoke(HttpContext context) { Console.WriteLine("invoke"); await _next.Invoke(context); } } }
用起来总有点奇怪,竟然不是继承一个基类ui
using Microsoft.AspNetCore.Builder; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace GrabNovelApi.MiddleWare { public static class SimpleMiddleWareExtensions { public static IApplicationBuilder SimpleMiddleWare(this IApplicationBuilder builder) { return builder.UseMiddleware<SimpleMiddleWare>(); } } }