如何在owin中间件中读取自定义标头?

时间:2018-04-02 14:45:08

标签: c# asp.net-mvc owin

我正在从JavaScript客户端向ASP.Net Web API发送自定义HTTP标头 X-TYPE

我在控制器HttpContext中看到此标头,但通过中间件内的IOwinContext访问请求标头不提供自定义标头。

如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

应该能够通过上下文中的请求访问标头。

例如

public class MyCustomMiddleware : OwinMiddleware {

    public MyCustomMiddleware(OwinMiddleware next)
        : base(next) {

    }

    public override async Task Invoke(IOwinContext context) {

        var request = context.Request;
        var headers = request.Headers;
        var headerKey = "X-TYPE";
        // custome header
        if (headers.ContainsKey(headerKey)) {
            var xType = headers[headerKey];
            //...
        }

        // continue pipeline
        await Next.Invoke(context);

        //...
    }
}