【发布时间】:2013-02-04 17:20:39
【问题描述】:
我目前在我的 Web API 服务中有一个消息处理程序,它会覆盖“SendAsync”,如下所示:
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
//implementation
}
在此代码中,我需要检查一个名为 MyCustomID 的自定义添加请求标头值。问题是当我执行以下操作时:
if (request.Headers.Contains("MyCustomID")) //OK
var id = request.Headers["MyCustomID"]; //build error - not OK
...我收到以下错误消息:
无法将 [] 索引应用于类型表达式 'System.Net.Http.Headers.HttpRequestHeaders'
如何通过传递给此重写方法的HttpRequestMessage (MSDN Documentation) 实例访问单个 自定义请求标头?
【问题讨论】:
-
如果你使用
request.Headers.Get("MyCustomID");会发生什么? -
没有
Get' on theHttpRequestHeaders` 类型。产生消息:“无法解析符号'Get'”。
标签: c# asp.net-web-api httprequest