HttpCacheDirectiveHeaderValueCollection HttpCacheDirectiveHeaderValueCollection HttpCacheDirectiveHeaderValueCollection HttpCacheDirectiveHeaderValueCollection Class

Represents the value of the Cache-Control HTTP header on HTTP content associated with an HTTP request or response.

Syntax

Declaration

public sealed class HttpCacheDirectiveHeaderValueCollectionpublic sealed class HttpCacheDirectiveHeaderValueCollectionPublic NotInheritable Class HttpCacheDirectiveHeaderValueCollectionpublic sealed class HttpCacheDirectiveHeaderValueCollection

Remarks

The HttpCacheDirectiveHeaderValueCollection class represents the value of the Cache-Control HTTP header on HTTP content associated with an HTTP request or an HTTP response.

The CacheControl property on the HttpRequestHeaderCollection returns an HttpCacheDirectiveHeaderValueCollection. The CacheControl property on the HttpResponseHeaderCollection returns an HttpCacheDirectiveHeaderValueCollection.

Collection member lists

For JavaScript, HttpCacheDirectiveHeaderValueCollection has the members shown in the member lists. In addition, HttpCacheDirectiveHeaderValueCollection supports members of Array.prototype and using an index to access items.

Enumerating the collection in C# or Microsoft Visual Basic

You can iterate through an HttpCacheDirectiveHeaderValueCollection object in C# or Microsoft Visual Basic. In many cases, such as using foreach syntax, the compiler does this casting for you and you won't need to cast to IEnumerable<HttpNameValueHeaderValue> explicitly. If you do need to cast explicitly, for example if you want to call GetEnumerator, cast the collection object to IEnumerable<T> with an HttpNameValueHeaderValue constraint.

Examples

The following sample code shows a method to get and set the Cache-Control HTTP header on an HttpRequestMessage object using the properties and methods on the HttpCacheDirectiveHeaderValueCollection class.

using System;
using Windows.Web.Http;
using Windows.Web.Http.Headers;

        public void DemonstrateHeaderRequestCacheControl() {
            var request = new HttpRequestMessage();
            bool parsedOk = false;

            // Set the header with a string.
            parsedOk = request.Headers.CacheControl.TryParseAdd("no-store");

            // Set the header with a strong type.
            request.Headers.CacheControl.Add(new HttpNameValueHeaderValue("max-age", "10"));

            // Get the strong type out
            foreach (var value in request.Headers.CacheControl) {
                System.Diagnostics.Debug.WriteLine("One of the CacheControl values: {0}={1}", value.Name, value.Value);
            }

            // The ToString() is useful for diagnostics, too.
            System.Diagnostics.Debug.WriteLine("The CacheControl ToString() results: {0}", request.Headers.CacheControl.ToString());
        }

The following sample code shows a method to get and set the Cache-Control HTTP header on an HttpResponseMessage object using the properties and methods on the HttpCacheDirectiveHeaderValueCollection class.

using System;
using Windows.Web.Http;
using Windows.Web.Http.Headers;

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

Properties summary

Gets or sets the value of the max-age directive in the Cache-Control HTTP header.

Gets or sets the value of the max-stale directive in the Cache-Control HTTP header.

Gets or sets the value of the min-fresh directive in the Cache-Control HTTP header.

Gets or sets the value of the s-maxage directive in the Cache-Control HTTP header.

Gets the number of HttpNameValueHeaderValue objects in the collection.

Methods summary

Adds a new HttpNameValueHeaderValue item to the end of the collection.

Removes all objects from the collection.

Retrieves an iterator to the first HttpNameValueHeaderValue item in the collection.

Returns the HttpNameValueHeaderValue at the specified index in the collection.

Retrieves the HttpNameValueHeaderValue items that start at the specified index in the collection.

Returns an immutable view of the HttpCacheDirectiveHeaderValueCollection.

Retrieves the index of an HttpNameValueHeaderValue in the collection.

Inserts an HttpNameValueHeaderValue into the collection at the specified index.

Parses and adds an entry to the HttpCacheDirectiveHeaderValueCollection.

Removes the entry at the specified index from the HttpCacheDirectiveHeaderValueCollection.

Removes the last HttpNameValueHeaderValue item from the collection.

Replaces all the HttpNameValueHeaderValue items in the collection with the specified HttpNameValueHeaderValue items.

Sets the HttpNameValueHeaderValue at the specified index in the collection.

Returns a string that represents the current HttpCacheDirectiveHeaderValueCollection object.

Tries to parse and add the specified item to the HttpCacheDirectiveHeaderValueCollection.

Properties

  • MaxAge
    MaxAge
    MaxAge
    MaxAge

    Gets or sets the value of the max-age directive in the Cache-Control HTTP header.

    public IReference<TimeSpan> MaxAge { get; set; }public IReference<TimeSpan> MaxAge { get; set; }Public ReadWrite Property MaxAge As IReference<TimeSpan>public IReference<TimeSpan> MaxAge { get; set; }

    Property Value

    • The value of the max-age directive in the Cache-Control HTTP header.

  • MaxStale
    MaxStale
    MaxStale
    MaxStale

    Gets or sets the value of the max-stale directive in the Cache-Control HTTP header.

    public IReference<TimeSpan> MaxStale { get; set; }public IReference<TimeSpan> MaxStale { get; set; }Public ReadWrite Property MaxStale As IReference<TimeSpan>public IReference<TimeSpan> MaxStale { get; set; }

    Property Value

    • the value of the max-stale directive in the Cache-Control HTTP header.

  • MinFresh
    MinFresh
    MinFresh
    MinFresh

    Gets or sets the value of the min-fresh directive in the Cache-Control HTTP header.

    public IReference<TimeSpan> MinFresh { get; set; }public IReference<TimeSpan> MinFresh { get; set; }Public ReadWrite Property MinFresh As IReference<TimeSpan>public IReference<TimeSpan> MinFresh { get; set; }

    Property Value

    • The value of the min-fresh directive in the Cache-Control HTTP header.

  • SharedMaxAge
    SharedMaxAge
    SharedMaxAge
    SharedMaxAge

    Gets or sets the value of the s-maxage directive in the Cache-Control HTTP header.

    public IReference<TimeSpan> SharedMaxAge { get; set; }public IReference<TimeSpan> SharedMaxAge { get; set; }Public ReadWrite Property SharedMaxAge As IReference<TimeSpan>public IReference<TimeSpan> SharedMaxAge { get; set; }

    Property Value

    • The value of the s-maxage directive in the Cache-Control HTTP header.

  • Size
    Size
    Size
    Size

    Gets the number of HttpNameValueHeaderValue objects in the collection.

    public uint Size { get; }public uint Size { get; }Public ReadOnly Property Size As uintpublic uint Size { get; }

    Property Value

Methods

  • Append(HttpNameValueHeaderValue)
    Append(HttpNameValueHeaderValue)
    Append(HttpNameValueHeaderValue)
    Append(HttpNameValueHeaderValue)

    Adds a new HttpNameValueHeaderValue item to the end of the collection.

    public void Append(HttpNameValueHeaderValue value)public void Append(HttpNameValueHeaderValue value)Public Function Append(value As HttpNameValueHeaderValue) As voidpublic void Append(HttpNameValueHeaderValue value)

    Parameters

  • Clear()
    Clear()
    Clear()
    Clear()

    Removes all objects from the collection.

    public void Clear()public void Clear()Public Function Clear() As voidpublic void Clear()
  • First()
    First()
    First()
    First()

    Retrieves an iterator to the first HttpNameValueHeaderValue item in the collection.

    public IIterator<HttpNameValueHeaderValue> First()public IIterator<HttpNameValueHeaderValue> First()Public Function First() As IIterator( Of HttpNameValueHeaderValue )public IIterator<HttpNameValueHeaderValue> First()

    Returns

  • GetAt(UInt32)
    GetAt(UInt32)
    GetAt(UInt32)
    GetAt(UInt32)

    Returns the HttpNameValueHeaderValue at the specified index in the collection.

    public HttpNameValueHeaderValue GetAt(UInt32 index)public HttpNameValueHeaderValue GetAt(UInt32 index)Public Function GetAt(index As UInt32) As HttpNameValueHeaderValuepublic HttpNameValueHeaderValue GetAt(UInt32 index)

    Parameters

    Returns

  • GetMany(UInt32, HttpNameValueHeaderValue[])
    GetMany(UInt32, HttpNameValueHeaderValue[])
    GetMany(UInt32, HttpNameValueHeaderValue[])
    GetMany(UInt32, HttpNameValueHeaderValue[])

    Retrieves the HttpNameValueHeaderValue items that start at the specified index in the collection.

    public uint GetMany(UInt32 startIndex, HttpNameValueHeaderValue[] items)public uint GetMany(UInt32 startIndex, HttpNameValueHeaderValue[] items)Public Function GetMany(startIndex As UInt32, items As HttpNameValueHeaderValue[]) As uintpublic uint GetMany(UInt32 startIndex, HttpNameValueHeaderValue[] items)

    Parameters

    Returns

  • GetView()
    GetView()
    GetView()
    GetView()

    Returns an immutable view of the HttpCacheDirectiveHeaderValueCollection.

    public IVectorView<HttpNameValueHeaderValue> GetView()public IVectorView<HttpNameValueHeaderValue> GetView()Public Function GetView() As IVectorView( Of HttpNameValueHeaderValue )public IVectorView<HttpNameValueHeaderValue> GetView()

    Returns

  • IndexOf(HttpNameValueHeaderValue, UInt32)
    IndexOf(HttpNameValueHeaderValue, UInt32)
    IndexOf(HttpNameValueHeaderValue, UInt32)
    IndexOf(HttpNameValueHeaderValue, UInt32)

    Retrieves the index of an HttpNameValueHeaderValue in the collection.

    public bool IndexOf(HttpNameValueHeaderValue value, UInt32 index)public bool IndexOf(HttpNameValueHeaderValue value, UInt32 index)Public Function IndexOf(value As HttpNameValueHeaderValue, index As UInt32) As boolpublic bool IndexOf(HttpNameValueHeaderValue value, UInt32 index)

    Parameters

    Returns

    • bool
      bool
      bool
      bool

      Indicates whether the item is found.

      true if the HttpNameValueHeaderValue item is found; otherwise, false.

  • InsertAt(UInt32, HttpNameValueHeaderValue)
    InsertAt(UInt32, HttpNameValueHeaderValue)
    InsertAt(UInt32, HttpNameValueHeaderValue)
    InsertAt(UInt32, HttpNameValueHeaderValue)

    Inserts an HttpNameValueHeaderValue into the collection at the specified index.

    public void InsertAt(UInt32 index, HttpNameValueHeaderValue value)public void InsertAt(UInt32 index, HttpNameValueHeaderValue value)Public Function InsertAt(index As UInt32, value As HttpNameValueHeaderValue) As voidpublic void InsertAt(UInt32 index, HttpNameValueHeaderValue value)

    Parameters

  • ParseAdd(String)
    ParseAdd(String)
    ParseAdd(String)
    ParseAdd(String)

    Parses and adds an entry to the HttpCacheDirectiveHeaderValueCollection.

    public void ParseAdd(String input)public void ParseAdd(String input)Public Function ParseAdd(input As String) As voidpublic void ParseAdd(String input)

    Parameters

    • input
      System.String
      System.String
      System.String
      System.String

      The entry to add.

  • RemoveAt(UInt32)
    RemoveAt(UInt32)
    RemoveAt(UInt32)
    RemoveAt(UInt32)

    Removes the entry at the specified index from the HttpCacheDirectiveHeaderValueCollection.

    public void RemoveAt(UInt32 index)public void RemoveAt(UInt32 index)Public Function RemoveAt(index As UInt32) As voidpublic void RemoveAt(UInt32 index)

    Parameters

    • index
      System.UInt32
      System.UInt32
      System.UInt32
      System.UInt32

      The index of the entry to remove.

  • RemoveAtEnd()
    RemoveAtEnd()
    RemoveAtEnd()
    RemoveAtEnd()

    Removes the last HttpNameValueHeaderValue item from the collection.

    public void RemoveAtEnd()public void RemoveAtEnd()Public Function RemoveAtEnd() As voidpublic void RemoveAtEnd()
  • ReplaceAll(HttpNameValueHeaderValue[])
    ReplaceAll(HttpNameValueHeaderValue[])
    ReplaceAll(HttpNameValueHeaderValue[])
    ReplaceAll(HttpNameValueHeaderValue[])

    Replaces all the HttpNameValueHeaderValue items in the collection with the specified HttpNameValueHeaderValue items.

    public void ReplaceAll(HttpNameValueHeaderValue[] items)public void ReplaceAll(HttpNameValueHeaderValue[] items)Public Function ReplaceAll(items As HttpNameValueHeaderValue[]) As voidpublic void ReplaceAll(HttpNameValueHeaderValue[] items)

    Parameters

    • items
      Windows.Web.Http.Headers.HttpNameValueHeaderValue[]
      Windows.Web.Http.Headers.HttpNameValueHeaderValue[]
      Windows.Web.Http.Headers.HttpNameValueHeaderValue[]
      Windows.Web.Http.Headers.HttpNameValueHeaderValue[]

      The collection of HttpNameValueHeaderValue items to add to the collection.

  • SetAt(UInt32, HttpNameValueHeaderValue)
    SetAt(UInt32, HttpNameValueHeaderValue)
    SetAt(UInt32, HttpNameValueHeaderValue)
    SetAt(UInt32, HttpNameValueHeaderValue)

    Sets the HttpNameValueHeaderValue at the specified index in the collection.

    public void SetAt(UInt32 index, HttpNameValueHeaderValue value)public void SetAt(UInt32 index, HttpNameValueHeaderValue value)Public Function SetAt(index As UInt32, value As HttpNameValueHeaderValue) As voidpublic void SetAt(UInt32 index, HttpNameValueHeaderValue value)

    Parameters

  • ToString()
    ToString()
    ToString()
    ToString()

    Returns a string that represents the current HttpCacheDirectiveHeaderValueCollection object.

    public string ToString()public string ToString()Public Function ToString() As stringpublic string ToString()

    Returns

    • string
      string
      string
      string

      A string that represents the current object.

  • TryParseAdd(String)
    TryParseAdd(String)
    TryParseAdd(String)
    TryParseAdd(String)

    Tries to parse and add the specified item to the HttpCacheDirectiveHeaderValueCollection.

    public bool TryParseAdd(String input)public bool TryParseAdd(String input)Public Function TryParseAdd(input As String) As boolpublic bool TryParseAdd(String input)

    Parameters

    • input
      System.String
      System.String
      System.String
      System.String

      The item to parse and add.

    Returns

    • bool
      bool
      bool
      bool

      true if the item successfully parsed and was added; otherwise false.

Device family

Windows 10 (introduced v10.0.10240.0)

API contract

Windows.Foundation.UniversalApiContract (introduced v1)

Attributes

Windows.Foundation.Metadata.ContractVersionAttribute
Windows.Foundation.Metadata.DualApiPartitionAttribute
Windows.Foundation.Metadata.MarshalingBehaviorAttribute
Windows.Foundation.Metadata.ThreadingAttribute

Details

Assembly

Windows.Web.Http.Headers.dll