HttpResponseHeaderCollection クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
HTTP 応答に関連付けられている HTTP ヘッダーのコレクションを提供します。
public ref class HttpResponseHeaderCollection sealed : IIterable<IKeyValuePair<Platform::String ^, Platform::String ^> ^>, IMap<Platform::String ^, Platform::String ^>, IStringable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class HttpResponseHeaderCollection final : IIterable<IKeyValuePair<winrt::hstring, winrt::hstring const&>>, IMap<winrt::hstring, winrt::hstring const&>, IStringable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class HttpResponseHeaderCollection final : IIterable<IKeyValuePair<winrt::hstring, winrt::hstring const&>>, IMap<winrt::hstring, winrt::hstring const&>, IStringable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class HttpResponseHeaderCollection : IDictionary<string,string>, IEnumerable<KeyValuePair<string,string>>, IStringable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class HttpResponseHeaderCollection : IDictionary<string,string>, IEnumerable<KeyValuePair<string,string>>, IStringable
Public NotInheritable Class HttpResponseHeaderCollection
Implements IDictionary(Of String, String), IEnumerable(Of KeyValuePair(Of String, String)), IStringable
- 継承
- 属性
- 実装
-
IDictionary<String,String> IMap<Platform::String,Platform::String> IMap<winrt::hstring,winrt::hstring> IIterable<IKeyValuePair<K,V>> IEnumerable<KeyValuePair<K,V>> IEnumerable<KeyValuePair<String,String>> IIterable<IKeyValuePair<Platform::String,Platform::String>> IIterable<IKeyValuePair<winrt::hstring,winrt::hstring>> IStringable
Windows の要件
デバイス ファミリ |
Windows 10 (10.0.10240.0 で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v1.0 で導入)
|
例
次のサンプル コードは、HttpResponseHeaderCollection オブジェクトのプロパティを使用して HttpResponseMessage オブジェクトの応答ヘッダーを取得および設定するメソッドを示しています。 Windows.Web.Http.Headers 名前空間には、検証でヘッダーを取得および設定するために使用できる、特定の HTTP ヘッダーの厳密に型指定されたヘッダー コレクションと値クラスが多数含まれています。
using System;
using System.Collections.Generic;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.Web.Http;
using Windows.Web.Http.Headers;
void DemonstrateResponseHeaders() {
DemonstrateHeaderResponseAge();
DemonstrateHeaderResponseAllow();
DemonstrateHeaderResponseCacheControl();
DemonstrateHeaderResponseDate();
DemonstrateHeaderResponseLocation();
DemonstrateHeaderResponseProxyAuthenticate();
}
public void DemonstrateHeaderResponseAge()
{
var response = new HttpResponseMessage();
// Set the header with a strong type.
DateTimeOffset value = DateTimeOffset.UtcNow;
response.Headers.Age = new TimeSpan(1, 35, 55); // 1 hour, 35 minutes, 55 seconds.
// Get the strong type out
System.Diagnostics.Debug.WriteLine("Age value in minutes: {0}", response.Headers.Age.Value.TotalMinutes);
// The ToString() is useful for diagnostics, too.
System.Diagnostics.Debug.WriteLine("The Age ToString() results: {0}", response.Headers.Age.ToString());
}
public void DemonstrateHeaderResponseAllow()
{
var response = new HttpResponseMessage();
// Set the header with a string
response.Headers.Allow.TryParseAdd ("GET");
// Set the header with a strong type
response.Headers.Allow.Add(HttpMethod.Patch);
// Get the strong type out
foreach (var value in response.Headers.Allow)
{
System.Diagnostics.Debug.WriteLine("Allow value: {0}", value.Method);
}
// The ToString() is useful for diagnostics, too.
System.Diagnostics.Debug.WriteLine("The Allow ToString() results: {0}", response.Headers.Allow.ToString());
}
public void DemonstrateHeaderResponseCacheControl()
{
var response = new HttpResponseMessage();
// Set the header with a string
response.Headers.CacheControl.TryParseAdd("public");
// Set the header with a strong type
response.Headers.CacheControl.Add(new HttpNameValueHeaderValue("max-age", "30"));
// Get the strong type out
foreach (var value in response.Headers.CacheControl)
{
System.Diagnostics.Debug.WriteLine("CacheControl {0}={1}", value.Name, value.Value);
}
// The ToString() is useful for diagnostics, too.
System.Diagnostics.Debug.WriteLine("The CacheControl ToString() results: {0}", response.Headers.CacheControl.ToString());
}
public void DemonstrateHeaderResponseDate()
{
var response = new HttpResponseMessage();
// Set the header with a strong type.
response.Headers.Date = DateTimeOffset.UtcNow;
// Get the strong type out
System.Diagnostics.Debug.WriteLine("Date value in ticks: {0}", response.Headers.Date.Value.Ticks);
// The ToString() is useful for diagnostics, too.
System.Diagnostics.Debug.WriteLine("The Date ToString() results: {0}", response.Headers.Date.ToString());
}
public void DemonstrateHeaderResponseLocation()
{
var response = new HttpResponseMessage();
// Set the header with a strong type.
response.Headers.Location = new Uri("http://example.com/");
// Get the strong type out
System.Diagnostics.Debug.WriteLine("Location absolute uri: {0}", response.Headers.Location.AbsoluteUri);
// The ToString() is useful for diagnostics, too.
System.Diagnostics.Debug.WriteLine("The Location ToString() results: {0}", response.Headers.Location.ToString());
}
public void DemonstrateHeaderResponseProxyAuthenticate()
{
var response = new HttpResponseMessage();
// Set the header with a strong type.
response.Headers.ProxyAuthenticate.TryParseAdd("Basic");
response.Headers.ProxyAuthenticate.Add(new HttpChallengeHeaderValue("authScheme", "authToken"));
// Get the strong type out
foreach (var value in response.Headers.ProxyAuthenticate)
{
System.Diagnostics.Debug.WriteLine("Proxy authenticate scheme and token: {0} {1}", value.Scheme, value.Token);
}
// The ToString() is useful for diagnostics, too.
System.Diagnostics.Debug.WriteLine("The ProxyAuthenticate ToString() results: {0}", response.Headers.ProxyAuthenticate.ToString());
}
public void DemonstrateHeaderResponseRetryAfter()
{
var response = new HttpResponseMessage();
// Set the header with a strong type.
HttpDateOrDeltaHeaderValue newvalue;
bool parseOk = HttpDateOrDeltaHeaderValue.TryParse("", out newvalue);
if (parseOk)
{
response.Headers.RetryAfter = newvalue;
}
// Get the strong type out
System.Diagnostics.Debug.WriteLine("Date value in ticks: {0}", response.Headers.Date.Value.Ticks);
// The ToString() is useful for diagnostics, too.
System.Diagnostics.Debug.WriteLine("The Date ToString() results: {0}", response.Headers.Date.ToString());
}
注釈
HttpResponseHeaderCollection は、HTTP 要求メッセージへの HTTP 応答に関連付けられている HTTP ヘッダーのコレクションです。 HttpResponseHeaderCollection オブジェクトを使用して、HTTP 応答の特定のヘッダーを取得または設定できます。 HttpResponseHeaderCollection オブジェクトのほとんどのプロパティは、特定の HTTP ヘッダーの値へのアクセスを提供します。
HttpResponseMessage の Headers プロパティは、HttpResponseHeaderCollection オブジェクトを返します。 これは、HttpResponseHeaderCollection の作成方法です。
C# または Microsoft Visual Basic でのコレクションの列挙
C# または Microsoft Visual Basic で HttpResponseHeaderCollection オブジェクトを反復処理できます。 foreach 構文の使用など、多くの場合、コンパイラはこのキャストを行います。明示的に キャストするIEnumerable
必要はありません。
GetEnumerator を呼び出す場合など、明示的にキャストする必要がある場合は、制約として String と String の KeyValuePair を指定してコレクション オブジェクトを IEnumerable<T> にキャストします。
プロパティ
メソッド
Append(String, String) |
HttpResponseHeaderCollection の末尾に新しい項目を追加します。 |
Clear() |
コレクションからすべてのオブジェクトを削除します。 |
First() |
HttpResponseHeaderCollection の最初の項目を指す反復子を取得します。 |
GetView() |
HttpResponseHeaderCollection の変更できないビューを返します。 |
HasKey(String) |
HttpResponseHeaderCollection に指定したキーが含まれているかどうかを判断します。 |
Insert(String, String) |
HttpResponseHeaderCollection 内の項目を、指定したキーと値に挿入または置換します。 |
Lookup(String) |
HttpResponseHeaderCollection 内のアイテムを検索します。 |
Remove(String) |
指定したキーを持つ項目を HttpResponseHeaderCollection から削除します。 |
ToString() |
現在の HttpResponseHeaderCollection オブジェクトを表す文字列を返します。 |
TryAppendWithoutValidation(String, String) |
検証を行わずに、指定した項目を HttpResponseHeaderCollection に 追加してみてください。 |