HttpResponseHeaderCollection Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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. |