HttpResponseHeaderCollection Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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. |