如何激活中间件

How to activate middleware

我必须在别处激活它吗?或者你能帮我吗?当我 运行 项目时,它直接进入控制器,中间件不会 运行。

这是我的中间件。

public class AuthenticationMiddleWare
{
    private RequestDelegate nextDelegate;
        
    public AuthenticationMiddleWare(RequestDelegate next, IConfiguration config)
    {
        nextDelegate = next;
    }
        
    public async Task Invoke(HttpContext httpContext)
    {
        try
        {
            // somecode
            await nextDelegate.Invoke(httpContext);
        
        }
        catch (Exception ex)
        {
        
        }
    }    
}

确保您已经在 Startup class 的 Configure 方法中注册了您的中间件。

public class Startup
{
    ...

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        app.UseMiddleware<AuthenticationMiddleWare>();
    }
}

参考

The Configure method - App startup in ASP.NET Core