HttpResponseHeaderCollection クラス

定義

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
継承
Object Platform::Object IInspectable HttpResponseHeaderCollection
属性
実装
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 ヘッダーの値へのアクセスを提供します。

HttpResponseMessageHeaders プロパティは、HttpResponseHeaderCollection オブジェクトを返します。 これは、HttpResponseHeaderCollection の作成方法です。

C# または Microsoft Visual Basic でのコレクションの列挙

C# または Microsoft Visual Basic で HttpResponseHeaderCollection オブジェクトを反復処理できます。 foreach 構文の使用など、多くの場合、コンパイラはこのキャストを行います。明示的に キャストするIEnumerable必要はありません。 GetEnumerator を呼び出す場合など、明示的にキャストする必要がある場合は、制約として StringStringKeyValuePair を指定してコレクション オブジェクトを IEnumerable<T> にキャストします。

プロパティ

Age

HTTP 応答の Age HTTP ヘッダーの値を表す TimeSpan オブジェクトを取得または設定します。

Allow

HTTP 応答の Allow HTTP ヘッダーの値を表す HttpMethod オブジェクトの HttpMethodHeaderValueCollection を取得します。

CacheControl

HTTP 応答の Cache-Control HTTP ヘッダーの値を表すオブジェクトの HttpCacheDirectiveHeaderValueCollection を取得します。

Connection

HTTP 応答の Connection HTTP ヘッダーの値を表す HttpConnectionOptionHeaderValue オブジェクトの HttpConnectionOptionHeaderValueCollection を取得します。

Date

HTTP 応答の Date HTTP ヘッダーの値を表す DateTime オブジェクトを取得または設定します。

Location

HTTP 応答の値または Location HTTP ヘッダーを表す Uri を取得または設定します。

ProxyAuthenticate

HTTP 応答の Proxy-Authenticate HTTP ヘッダーの値を表す HttpChallengeHeaderValue オブジェクトの HttpChallengeHeaderValueCollection を取得します。

RetryAfter

HTTP 応答の Retry-After HTTP ヘッダーの値を表す HttpDateOrDeltaHeaderValue オブジェクトを取得または設定します。

Size

HttpResponseHeaderCollection 内のオブジェクトの数を取得します。

TransferEncoding

HTTP 応答の Transfer-Encoding HTTP ヘッダーの値を表す HttpTransferCodingHeaderValue オブジェクトの HttpTransferCodingHeaderValueCollection を取得します。

WwwAuthenticate

HTTP 応答の WWW-Authenticate HTTP ヘッダーの値を表す HttpChallengeHeaderValue オブジェクトの HttpChallengeHeaderValueCollection を取得します。

メソッド

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 に 追加してみてください。

適用対象

こちらもご覧ください