Asp.net 为什么我的中间件不能工作?

Asp.net 为什么我的中间件不能工作?,asp.net,asp.net-mvc,owin-middleware,Asp.net,Asp.net Mvc,Owin Middleware,我尝试添加自己的中间件,但它不起作用:-) 公共部分类启动 { 公共无效配置(IAppBuilder应用程序) { System.Diagnostics.Debug.WriteLine(“OWIN正在工作”); app.Use(); } } 公共类定制中间件 { 公共异步任务调用(HttpContext上下文) { 字符串标记=context.Request.Headers[“Authorization”]; } } WriteLine是这样的,它会根据服务器的请求输入配置,但我的Custom

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

公共部分类启动
{
公共无效配置(IAppBuilder应用程序)
{
System.Diagnostics.Debug.WriteLine(“OWIN正在工作”);
app.Use();
}
}
公共类定制中间件
{
公共异步任务调用(HttpContext上下文)
{
字符串标记=context.Request.Headers[“Authorization”];
}
}
WriteLine是这样的,它会根据服务器的请求输入配置,但我的CustomMiddleware Invoke不会被触发


有什么线索吗?

你需要一个构造函数,让下一个
委托

因此,您的代码应按如下所示进行更改:

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();
    }
}

CustomMiddleware
类中应该有一个构造函数,它接受下一个中间件项并按顺序调用它。否则,你的管道就停在这里了。我怎么。。。?我只是想创建一个中间件来检查是否设置了头内容类型。如果不返回400,这是针对ASP.Net核心的吗?纯“ASP.Net mvc”
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();
    }
}