HttpClient在WinRT / Win8中缺少响应头

时间:2012-09-25 07:20:20

标签: .net windows-8 windows-runtime dotnet-httpclient

我在Windows 8应用程序中使用HttpClient,它似乎故意在响应中隐藏自定义标头。例如:

我们收到的回复有一个名为“Sample-Header:123”的自定义标题

我希望响应内容中的标头包含“Sample-Header”,其值为“123”

var client = new HttpClient();
var response = await client.GetAsync(uri);

string sample;
IEnumerable<string> values;

if (response.Content.Headers.TryGetValues("Sample-Header", out values))
{
   // This never happens!
   sample = values.First();
}

即使我通过标题枚举,我也永远找不到我们的自定义标题。

1 个答案:

答案 0 :(得分:4)

确定。显然,您可以使用两种不同的标头集合。以下代码有效:

var client = new HttpClient();
var response = await client.GetAsync(uri);

string sample;
IEnumerable<string> values;

if (response.Headers.TryGetValues("Sample-Header", out values))
{
   // This happens!
   sample = values.First();
}

你看到了区别吗?内容标头与响应标头完全不同。

感谢微软的Govind。