获取标头值在Web API控制器C中不起作用#

时间:2017-04-09 18:18:06

标签: c#

这是我的代码,l_request.Headers不包含任何内容。我在Postman中插入了标头值。

HttpRequestMessage l_request = new HttpRequestMessage();
var l_headers = l_request.Headers;  
string l_headerValue = "";
if (l_headers.Contains("Content-Over"))
{
   l_headerValue = l_headers.GetValues("Content-Over").First();
}

2 个答案:

答案 0 :(得分:0)

您应该使用静态请求,而不是初始化新实例。 如果这是一个过滤器,请求就在上下文对象中。

答案 1 :(得分:0)

Thanks. @Daniel Rapaport.

I changed my code as below and got it.

public string GetHeaderValue()
{
        var re = Request;
        var headers = re.Headers;

        string l_headerValue = "";
        if (headers.Contains("Content-Over"))
        {
            l_headerValue = headers.GetValues("Content-Over").First();
        }

        return l_headerValue;
}

Or

 System.Web.HttpContext.Current.Request.Headers["Content-Over"]