HttpResponseHeaderCollection Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit une collection d’en-têtes HTTP associés à une réponse 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
- Héritage
- Attributs
- Implémente
-
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
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
|
Exemples
L’exemple de code suivant montre une méthode permettant d’obtenir et de définir des en-têtes de réponse sur un objet HttpResponseMessage à l’aide des propriétés de l’objet HttpResponseHeaderCollection. L’espace de noms Windows.Web.Http.Headers possède un certain nombre de collections d’en-têtes fortement typées et de classes de valeur pour des en-têtes HTTP spécifiques qui peuvent être utilisées pour obtenir et définir des en-têtes avec validation.
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());
}
Remarques
HttpResponseHeaderCollection est une collection d’en-têtes HTTP associés à une réponse HTTP à un message de requête HTTP. L’objet HttpResponseHeaderCollection peut être utilisé pour obtenir ou définir les en-têtes spécifiques sur la réponse HTTP. La plupart des propriétés de l’objet HttpResponseHeaderCollection fournissent l’accès à la valeur d’un en-tête HTTP spécifique.
La propriété Headers sur HttpResponseMessage retourne un objet HttpResponseHeaderCollection. C’est ainsi qu’une HttpResponseHeaderCollection est construite.
Énumération de la collection en C# ou Microsoft Visual Basic
Vous pouvez itérer via un objet HttpResponseHeaderCollection en C# ou Microsoft Visual Basic. Dans de nombreux cas, comme l’utilisation de la syntaxe foreach , le compilateur effectue cette cast pour vous et vous n’aurez pas besoin d’effectuer IEnumerable
un cast vers explicitement. Si vous avez besoin d’un cast explicite, par exemple si vous souhaitez appeler GetEnumerator, castez l’objet de collection en IEnumerable<T> avec un KeyValuePair de String et String comme contrainte.
Propriétés
Age |
Obtient ou définit l’objet TimeSpan qui représente la valeur d’un en-tête HTTP Age sur une réponse HTTP. |
Allow |
Obtient le HttpMethodHeaderValueCollection des objets HttpMethod qui représentent la valeur d’un en-tête HTTP Allow sur une réponse HTTP. |
CacheControl |
Obtient le HttpCacheDirectiveHeaderValueCollection des objets qui représentent la valeur d’un en-tête HTTP Cache-Control sur une réponse HTTP. |
Connection |
Obtient le HttpConnectionOptionHeaderValueCollection des objets HttpConnectionOptionHeaderValue qui représentent la valeur d’un en-tête HTTP de connexion sur une réponse HTTP. |
Date |
Obtient ou définit l’objet DateTime qui représente la valeur d’un en-tête HTTP Date sur une réponse HTTP. |
Location |
Obtient ou définit l’URI qui représente la valeur ou un en-tête HTTP Location sur une réponse HTTP. |
ProxyAuthenticate |
Obtient le HttpChallengeHeaderValueCollection des objets HttpChallengeHeaderValue qui représentent la valeur d’un en-tête HTTP Proxy-Authenticate sur une réponse HTTP. |
RetryAfter |
Obtient ou définit l’objet HttpDateOrDeltaHeaderValue qui représente la valeur d’un en-tête HTTP Retry-After sur une réponse HTTP. |
Size |
Obtient le nombre d’objets dans httpResponseHeaderCollection. |
TransferEncoding |
Obtient le HttpTransferCodingHeaderValueCollection des objets HttpTransferCodingHeaderValue qui représentent la valeur d’un en-tête HTTP Transfer-Encoding sur une réponse HTTP. |
WwwAuthenticate |
Obtient le HttpChallengeHeaderValueCollection des objets HttpChallengeHeaderValue qui représentent la valeur d’un en-tête HTTP WWW-Authenticate sur une réponse HTTP. |
Méthodes
Append(String, String) |
Ajoute un nouvel élément à la fin de HttpResponseHeaderCollection. |
Clear() |
Supprime tous les objets de la collection. |
First() |
Récupère un itérateur vers le premier élément de httpResponseHeaderCollection. |
GetView() |
Renvoie une vue immuable de HttpResponseHeaderCollection. |
HasKey(String) |
Détermine si httpResponseHeaderCollection contient la clé spécifiée. |
Insert(String, String) |
Insère ou remplace un élément dans httpResponseHeaderCollection par la clé et la valeur spécifiées. |
Lookup(String) |
Recherchez un élément dans httpResponseHeaderCollection. |
Remove(String) |
Supprime un élément avec une clé donnée de httpResponseHeaderCollection. |
ToString() |
Renvoie une chaîne qui représente l’objet HttpResponseHeaderCollection actuel. |
TryAppendWithoutValidation(String, String) |
Essayez d’ajouter l’élément spécifié à HttpResponseHeaderCollection sans validation. |