2

Windows 8 アプリで HttpClient を使用していますが、応答でカスタム ヘッダーを意図的に隠しているようです。例えば:

受信した応答には、 「Sample-Header: 123」というカスタム ヘッダーがあります。

応答コンテンツのヘッダーには、値が「123」の「Sample-Header」が含まれていると思います

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

ヘッダーを列挙しても、カスタム ヘッダーは見つかりません。

4

1 に答える 1

4

Ok。どうやら、使用できる 2 つの異なるヘッダー コレクションがあります。次のコードが機能します。

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

違いがわかりますか?コンテンツ ヘッダーは、応答ヘッダーとはまったく異なります。

Microsoft の Govind に感謝します。

于 2012-09-27T01:36:50.140 に答える