HttpResponseHeaderCollection Classe

Definizione

Fornisce una raccolta di intestazioni HTTP associate a una risposta 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
Ereditarietà
Object Platform::Object IInspectable HttpResponseHeaderCollection
Attributi
Implementazioni
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

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Esempio

Il codice di esempio seguente mostra un metodo per ottenere e impostare le intestazioni di risposta in un oggetto HttpResponseMessage usando le proprietà nell'oggetto HttpResponseHeaderCollection. Lo spazio dei nomi Windows.Web.Http.Headers include una serie di classi di intestazioni e valori fortemente tipizzata per intestazioni HTTP specifiche che possono essere usate per ottenere e impostare intestazioni con convalida.

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

Commenti

HttpResponseHeaderCollection è una raccolta di intestazioni HTTP associate a una risposta HTTP a un messaggio di richiesta HTTP. L'oggetto HttpResponseHeaderCollection può essere usato per ottenere o impostare le intestazioni specifiche nella risposta HTTP. La maggior parte delle proprietà nell'oggetto HttpResponseHeaderCollection fornisce l'accesso per il valore di un'intestazione HTTP specifica.

La proprietà Headers in HttpResponseMessage restituisce un oggetto HttpResponseHeaderCollection . Questo è il modo in cui viene costruito un oggetto HttpResponseHeaderCollection.

Enumerazione della raccolta in C# o Microsoft Visual Basic

È possibile eseguire l'iterazione tramite un oggetto HttpResponseHeaderCollection in C# o Microsoft Visual Basic. In molti casi, ad esempio usando la sintassi foreach , il compilatore esegue questo cast per l'utente e non è necessario eseguire il cast IEnumerable in modo esplicito. Se è necessario eseguire il cast in modo esplicito, ad esempio se si vuole chiamare GetEnumerator, eseguire il cast dell'oggetto raccolta in IEnumerable<T> con un valore KeyValuePair di String e String come vincolo.

Proprietà

Age

Ottiene o imposta l'oggetto TimeSpan che rappresenta il valore di un'intestazione HTTP age in una risposta HTTP.

Allow

Ottiene l'oggetto HttpMethodHeaderValueCollection degli oggetti HttpMethod che rappresentano il valore di un'intestazione ALLOW HTTP in una risposta HTTP.

CacheControl

Ottiene httpCacheDirectiveHeaderValueCollection di oggetti che rappresentano il valore di un'intestazione HTTP cache-Control in una risposta HTTP.

Connection

Ottiene gli oggetti HttpConnectionOptionHeaderValueCollection degli oggetti HttpConnectionOptionHeaderValue che rappresentano il valore di un'intestazione HTTP di connessione in una risposta HTTP.

Date

Ottiene o imposta l'oggetto DateTime che rappresenta il valore di un'intestazione HTTP date in una risposta HTTP.

Location

Ottiene o imposta l'URI che rappresenta il valore o un'intestazione HTTP percorso in una risposta HTTP.

ProxyAuthenticate

Ottiene l'oggetto HttpChallengeHeaderValueCollection degli oggetti HttpChallengeHeaderValue che rappresentano il valore di un'intestazione HTTP proxy-Authentication in una risposta HTTP.

RetryAfter

Ottiene o imposta l'oggetto HttpDateOrDeltaHeaderValue che rappresenta il valore di un'intestazione HTTP Retry-After in una risposta HTTP.

Size

Ottiene il numero di oggetti in HttpResponseHeaderCollection.

TransferEncoding

Ottiene gli oggetti HttpTransferCodingHeaderValueCollection di HttpTransferCodingHeaderValue che rappresentano il valore di un'intestazione HTTP di codifica trasferimento in una risposta HTTP.

WwwAuthenticate

Ottiene l'oggetto HttpChallengeHeaderValueCollection degli oggetti HttpChallengeHeaderValue che rappresentano il valore di un'intestazione HTTP WWW-Authentication in una risposta HTTP.

Metodi

Append(String, String)

Aggiunge un nuovo elemento alla fine di HttpResponseHeaderCollection.

Clear()

Rimuove tutti gli oggetti dalla raccolta.

First()

Recupera un iteratore al primo elemento in HttpResponseHeaderCollection.

GetView()

Restituisce una visualizzazione non modificabile dell'oggetto HttpResponseHeaderCollection.

HasKey(String)

Determina se HttpResponseHeaderCollection contiene la chiave specificata.

Insert(String, String)

Inserisce o sostituisce un elemento in HttpResponseHeaderCollection con la chiave e il valore specificati.

Lookup(String)

Cercare un elemento in HttpResponseHeaderCollection.

Remove(String)

Rimuove un elemento con una chiave specificata da HttpResponseHeaderCollection.

ToString()

Restituisce una stringa che rappresenta l'oggetto HttpResponseHeaderCollection corrente.

TryAppendWithoutValidation(String, String)

Provare ad aggiungere l'elemento specificato all'oggetto HttpResponseHeaderCollection senza convalida.

Si applica a

Vedi anche