在ASP.NET Core中创建自定义中间件可以通过以下步骤完成:
- 定义一个扩展方法来创建中间件管道。
- 使用 Invoke或InvokeAsync方法处理请求。
下面是一个简单的自定义中间件示例,它记录请求的路径,并允许请求继续通过中间件管道:
public static class CustomMiddlewareExtensions
{
    public static IApplicationBuilder UseCustomMiddleware(this IApplicationBuilder builder)
    {
        return builder.Use(next =>
        {
            return async context =>
            {
                // 在调用下一个中间件之前可以做的操作
                var originalPath = context.Request.Path;
                Console.WriteLine($"Request for: {originalPath}");
 
                // 调用下一个中间件
                await next(context);
 
                // 在调用下一个中间件之后可以做的操作
                // 例如,可以记录响应的某些信息
            };
        });
    }
}然后,你可以在 Startup.cs 的 Configure 方法中使用这个扩展方法来添加自定义中间件:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // ...
 
    app.UseCustomMiddleware();
 
    // ...
}这样就创建并配置了一个简单的自定义中间件,它会记录请求的路径并允许请求继续处理。