HttpResponseHeaderCollection Klasse

Definition

Stellt eine Auflistung der HTTP-Header bereit, die einer HTTP-Antwort zugeordnet sind.

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
Vererbung
Object Platform::Object IInspectable HttpResponseHeaderCollection
Attribute
Implementiert
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-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Beispiele

Der folgende Beispielcode zeigt eine Methode zum Abrufen und Festlegen von Antwortheadern für ein HttpResponseMessage-Objekt mithilfe der Eigenschaften des HttpResponseHeaderCollection-Objekts. Der Windows.Web.Http.Headers-Namespace verfügt über eine Reihe stark typisierter Headersammlungs- und -Wertklassen für bestimmte HTTP-Header, die zum Abrufen und Festlegen von Headern mit Validierung verwendet werden können.

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

Hinweise

HttpResponseHeaderCollection ist eine Sammlung der HTTP-Header, die einer HTTP-Antwort auf eine HTTP-Anforderungsnachricht zugeordnet sind. Das HttpResponseHeaderCollection-Objekt kann verwendet werden, um die spezifischen Header für die HTTP-Antwort abzurufen oder festzulegen. Die meisten Eigenschaften des HttpResponseHeaderCollection-Objekts bieten Zugriff auf den Wert eines bestimmten HTTP-Headers.

Die Headers-Eigenschaft für HttpResponseMessage gibt ein HttpResponseHeaderCollection-Objekt zurück. So wird eine HttpResponseHeaderCollection erstellt.

Auflisten der Sammlung in C# oder Microsoft Visual Basic

Sie können ein HttpResponseHeaderCollection-Objekt in C# oder Microsoft Visual Basic durchlaufen. In vielen Fällen, z. B. mithilfe der foreach-Syntax , führt der Compiler diese Umwandlung für Sie durch, und Sie müssen nicht explizit in IEnumerable umgewandelt werden. Wenn Sie eine explizite Umwandlung durchführen müssen, z. B. wenn Sie GetEnumerator aufrufen möchten, wandeln Sie das Auflistungsobjekt in IEnumerable<T> mit einem KeyValuePair von String und String als Einschränkung um.

Eigenschaften

Age

Ruft das TimeSpan-Objekt ab, das den Wert eines Age-HTTP-Headers für eine HTTP-Antwort darstellt, oder legt es fest.

Allow

Ruft die HttpMethodHeaderValueCollection von HttpMethod-Objekten ab, die den Wert eines Allow HTTP-Headers für eine HTTP-Antwort darstellen.

CacheControl

Ruft die HttpCacheDirectiveHeaderValueCollection von Objekten ab, die den Wert eines Cache-Control-HTTP-Headers für eine HTTP-Antwort darstellen.

Connection

Ruft die HttpConnectionOptionHeaderValueCollection von HttpConnectionOptionHeaderValue-Objekten ab, die den Wert eines Connection-HTTP-Headers für eine HTTP-Antwort darstellen.

Date

Ruft das DateTime-Objekt ab, das den Wert eines Date-HTTP-Headers für eine HTTP-Antwort darstellt, oder legt es fest.

Location

Ruft den URI ab, der den Wert oder einen LOCATION-HTTP-Header für eine HTTP-Antwort darstellt, oder legt diesen fest.

ProxyAuthenticate

Ruft die HttpChallengeHeaderValueCollection von HttpChallengeHeaderValue-Objekten ab, die den Wert eines Proxy-Authenticate-HTTP-Headers für eine HTTP-Antwort darstellen.

RetryAfter

Ruft das HttpDateOrDeltaHeaderValue-Objekt ab, das den Wert eines Retry-After-HTTP-Headers für eine HTTP-Antwort darstellt, oder legt es fest.

Size

Ruft die Anzahl der Objekte in der HttpResponseHeaderCollection ab.

TransferEncoding

Ruft die HttpTransferCodingHeaderValueCollection von HttpTransferCodingHeaderValue-Objekten ab, die den Wert eines Transfer-Encoding-HTTP-Headers für eine HTTP-Antwort darstellen.

WwwAuthenticate

Ruft die HttpChallengeHeaderValueCollection von HttpChallengeHeaderValue-Objekten ab, die den Wert eines WWW-Authenticate-HTTP-Headers für eine HTTP-Antwort darstellen.

Methoden

Append(String, String)

Fügt am Ende der HttpResponseHeaderCollection ein neues Element hinzu.

Clear()

Entfernt alle Objekte aus der Auflistung.

First()

Ruft einen Iterator zum ersten Element in der HttpResponseHeaderCollection ab.

GetView()

Gibt eine unveränderliche Ansicht der HttpResponseHeaderCollection zurück.

HasKey(String)

Bestimmt, ob die HttpResponseHeaderCollection den angegebenen Schlüssel enthält.

Insert(String, String)

Fügt ein Element in der HttpResponseHeaderCollection durch den angegebenen Schlüssel und Wert ein oder ersetzt es.

Lookup(String)

Suchen Sie ein Element in der HttpResponseHeaderCollection.

Remove(String)

Entfernt ein Element mit einem bestimmten Schlüssel aus der HttpResponseHeaderCollection.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle HttpResponseHeaderCollection-Objekt darstellt.

TryAppendWithoutValidation(String, String)

Versuchen Sie, das angegebene Element ohne Überprüfung an die HttpResponseHeaderCollection anzufügen.

Gilt für:

Weitere Informationen