Bagikan melalui


HttpResponseHeaderCollection Kelas

Definisi

Menyediakan kumpulan header HTTP yang terkait dengan respons 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
Warisan
Object Platform::Object IInspectable HttpResponseHeaderCollection
Atribut
Penerapan
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

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Contoh

Kode sampel berikut menunjukkan metode untuk mendapatkan dan mengatur header respons pada objek HttpResponseMessage menggunakan properti pada objek HttpResponseHeaderCollection. Namespace layanan Windows.Web.Http.Headers memiliki sejumlah koleksi header dan kelas nilai yang sangat ditik untuk header HTTP tertentu yang dapat digunakan untuk mendapatkan dan mengatur header dengan validasi.

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

Keterangan

HttpResponseHeaderCollection adalah kumpulan header HTTP yang terkait dengan respons HTTP ke pesan permintaan HTTP. Objek HttpResponseHeaderCollection dapat digunakan untuk mendapatkan atau mengatur header tertentu pada respons HTTP. Sebagian besar properti pada objek HttpResponseHeaderCollection menyediakan akses untuk nilai header HTTP tertentu.

Properti Header di HttpResponseMessage mengembalikan objek HttpResponseHeaderCollection. Ini adalah bagaimana HttpResponseHeaderCollection dibangun.

Menghitung koleksi dalam C# atau Microsoft Visual Basic

Anda dapat melakukan iterasi melalui objek HttpResponseHeaderCollection di C# atau Microsoft Visual Basic. Dalam banyak kasus, seperti menggunakan sintaks foreach , pengkompilasi melakukan transmisi ini untuk Anda dan Anda tidak perlu mentransmisikan untuk IEnumerable secara eksplisit. Jika Anda perlu mentransmisikan secara eksplisit, misalnya jika Anda ingin memanggil GetEnumerator, transmisikan objek koleksi ke IEnumerable<T> dengan KeyValuePair dari String dan String sebagai batasan.

Properti

Age

Mendapatkan atau mengatur objek TimeSpan yang mewakili nilai header HTTP Usia pada respons HTTP.

Allow

Mendapatkan HttpMethodHeaderValueCollection dari objek HttpMethod yang mewakili nilai header Allow HTTP pada respons HTTP.

CacheControl

Mendapatkan HttpCacheDirectiveHeaderValueCollection objek yang mewakili nilai header HTTP Cache-Control pada respons HTTP.

Connection

Mendapatkan objek HttpConnectionOptionHeaderValueCollection dari objek HttpConnectionOptionHeaderValue yang mewakili nilai header HTTP Koneksi pada respons HTTP.

Date

Mendapatkan atau mengatur objek DateTime yang mewakili nilai header HTTP Tanggal pada respons HTTP.

Location

Mendapatkan atau mengatur Uri yang mewakili nilai atau header HTTP Lokasi pada respons HTTP.

ProxyAuthenticate

Mendapatkan httpChallengeHeaderValueCollection dari objek HttpChallengeHeaderValue yang mewakili nilai header HTTP Proxy-Authenticate pada respons HTTP.

RetryAfter

Mendapatkan atau mengatur objek HttpDateOrDeltaHeaderValue yang mewakili nilai header HTTP Retry-After pada respons HTTP.

Size

Mendapatkan jumlah objek di HttpResponseHeaderCollection.

TransferEncoding

Mendapatkan objek HttpTransferCodingHeaderValueCollection dari objek HttpTransferCodingHeaderValue yang mewakili nilai header HTTP Transfer-Encoding pada respons HTTP.

WwwAuthenticate

Mendapatkan httpChallengeHeaderValueCollection dari objek HttpChallengeHeaderValue yang mewakili nilai header HTTP WWW-Authenticate pada respons HTTP.

Metode

Append(String, String)

Menambahkan item baru ke akhir HttpResponseHeaderCollection.

Clear()

Menghapus semua objek dari koleksi.

First()

Mengambil iterator ke item pertama di HttpResponseHeaderCollection.

GetView()

Mengembalikan tampilan httpResponseHeaderCollection yang tidak dapat diubah.

HasKey(String)

Menentukan apakah HttpResponseHeaderCollection berisi kunci yang ditentukan.

Insert(String, String)

Menyisipkan atau mengganti item di HttpResponseHeaderCollection dengan kunci dan nilai yang ditentukan.

Lookup(String)

Cari item di HttpResponseHeaderCollection.

Remove(String)

Menghapus item dengan kunci tertentu dari HttpResponseHeaderCollection.

ToString()

Mengembalikan string yang mewakili objek HttpResponseHeaderCollection saat ini.

TryAppendWithoutValidation(String, String)

Cobalah untuk menambahkan item yang ditentukan ke HttpResponseHeaderCollection tanpa validasi.

Berlaku untuk

Lihat juga