为什么我的中间件不工作?

Why isnt my middleware working?

我试过添加我自己的中间件,它不起作用:-)

public partial class Startup
{
    public void Configuration(IAppBuilder app)
    {
        System.Diagnostics.Debug.WriteLine("OWIN IS WORKING");

        app.Use<CustomMiddleware>();
    }
}

public class CustomMiddleware
{
    public async Task Invoke(HttpContext context)
    {
        string token = context.Request.Headers["Authorization"];
    }
}

WriteLine 是这样的,因此它根据对服务器的请求进入配置,但我的 CustomMiddleware Invoke 没有被触发。

有线索吗?

您需要构造函数有下一个 delegate

因此您的代码应如下所示更改:

public class CustomMiddleware 
{
    private readonly RequestDelegate _next;

    public CustomMiddleware(RequestDelegate next)
    {
        _next = next;
    }

    public async Task Invoke(HttpContext context)
    {
        string token = context.Request.Headers["Authorization"];
        await _next();
    }
}