HttpCacheDirectiveHeaderValueCollection HttpCacheDirectiveHeaderValueCollection HttpCacheDirectiveHeaderValueCollection Class

Definition

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

public sealed class HttpCacheDirectiveHeaderValueCollection : IIterable, IVector, IStringable, IHttpCacheDirectiveHeaderValueCollectionpublic sealed class HttpCacheDirectiveHeaderValueCollection : IEnumerable, IList, IStringable, IHttpCacheDirectiveHeaderValueCollectionPublic NotInheritable Class HttpCacheDirectiveHeaderValueCollection Implements IEnumerable, IList, IStringable, IHttpCacheDirectiveHeaderValueCollection
Attributes
Windows 10 requirements
Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)

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

Item[Int32] Item[Int32] Item[Int32]

Gets or sets the element at the specified index.

This member is not implemented in C++T this[int index] { get; set; }Property Item(index As Integer) As T
Parameters
index
System.Int32 System.Int32 System.Int32

The zero-based index of the element to get or set.

Value
T T T

The element at the specified index.

Attributes
See Also
System.Collections.Generic.ICollection<T>.IsReadOnlySystem.Collections.Generic.ICollection<T>.IsReadOnlySystem.Collections.Generic.ICollection<T>.IsReadOnly

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>
Value

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

Attributes

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>
Value

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

Attributes

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>
Value

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

Attributes

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>
Value

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

Attributes

Size Size Size

Gets the number of HttpNameValueHeaderValue objects in the collection.

public uint Size { get; }This member is not implemented in C#This member is not implemented in VB.Net
Value
uint uint uint

The number of HttpNameValueHeaderValue objects in the HttpCacheDirectiveHeaderValueCollection.

Attributes

Methods

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

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

public void Append(HttpNameValueHeaderValue value)This member is not implemented in C#This member is not implemented in VB.Net
Parameters
Attributes

Clear() Clear() Clear()

Removes all objects from the collection.

public void Clear()This member is not implemented in C#This member is not implemented in VB.Net
Attributes

First() First() First()

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

public IIterator<HttpNameValueHeaderValue> First()This member is not implemented in C#This member is not implemented in VB.Net
Returns

An object that can be used to enumerate the HttpNameValueHeaderValue items in the collection. The iterator points to the first HttpNameValueHeaderValue item in the HttpCacheDirectiveHeaderValueCollection.

Attributes

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

Returns the HttpNameValueHeaderValue at the specified index in the collection.

public HttpNameValueHeaderValue GetAt(UInt32 index)This member is not implemented in C#This member is not implemented in VB.Net
Parameters
index
System.UInt32 System.UInt32 System.UInt32

The zero-based index of a specified item in the HttpCacheDirectiveHeaderValueCollection.

Returns
Attributes

GetEnumerator() GetEnumerator() GetEnumerator()

Returns an enumerator that iterates through the collection.

This member is not implemented in C++IEnumerator<T> GetEnumerator()Function GetEnumerator As IEnumerator(Of T)
Returns
System.Collections.Generic.IEnumerator<T> System.Collections.Generic.IEnumerator<T> System.Collections.Generic.IEnumerator<T>

An enumerator that can be used to iterate through the collection.

Attributes
See Also
System.Collections.Generic.IEnumerator<T>System.Collections.Generic.IEnumerator<T>System.Collections.Generic.IEnumerator<T>

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)This member is not implemented in C#This member is not implemented in VB.Net
Parameters
startIndex
System.UInt32 System.UInt32 System.UInt32

The zero-based index of the start of the HttpNameValueHeaderValue items in the HttpCacheDirectiveHeaderValueCollection.

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

An array of HttpNameValueHeaderValue items that start at startIndex in the HttpCacheDirectiveHeaderValueCollection.

Returns
uint uint uint

The number of HttpNameValueHeaderValue items retrieved.

Attributes

GetView() GetView() GetView()

Returns an immutable view of the HttpCacheDirectiveHeaderValueCollection.

public IVectorView<HttpNameValueHeaderValue> GetView()This member is not implemented in C#This member is not implemented in VB.Net
Returns
Attributes

IndexOf(T) IndexOf(T) IndexOf(T)

Determines the index of a specific item in the System.Collections.Generic.IList`1.

This member is not implemented in C++int IndexOf(T item)Function IndexOf(item As T) As Integer
Parameters
item
T T T

The object to locate in the System.Collections.Generic.IList`1.

Returns
System.Int32 System.Int32 System.Int32

The index of item if found in the list; otherwise, -1.

Attributes

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)This member is not implemented in C#This member is not implemented in VB.Net
Parameters
index
System.UInt32 System.UInt32 System.UInt32

The index of the HttpNameValueHeaderValue in the HttpCacheDirectiveHeaderValueCollection.

If the item is found, this is the zero-based index of the item; otherwise, this parameter is 0.

Returns
bool bool bool

Indicates whether the item is found.

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

Attributes

Insert(Int32, T) Insert(Int32, T) Insert(Int32, T)

Inserts an item to the System.Collections.Generic.IList`1 at the specified index.

This member is not implemented in C++void Insert(int index, T item)Sub Insert(index As Integer, item As T)
Parameters
index
System.Int32 System.Int32 System.Int32

The zero-based index at which item should be inserted.

item
T T T

The object to insert into the System.Collections.Generic.IList`1.

Attributes
See Also
System.Collections.Generic.ICollection<T>.IsReadOnlySystem.Collections.Generic.ICollection<T>.IsReadOnlySystem.Collections.Generic.ICollection<T>.IsReadOnly

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)This member is not implemented in C#This member is not implemented in VB.Net
Parameters
index
System.UInt32 System.UInt32 System.UInt32

The zero-based index at which value should be inserted.

value
HttpNameValueHeaderValue HttpNameValueHeaderValue HttpNameValueHeaderValue

The object to insert into the collection.

Attributes

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 void
Parameters
input
System.String System.String System.String

The entry to add.

Attributes

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)

Removes the System.Collections.Generic.IList`1 item at the specified index.

This member is not implemented in C++void RemoveAt(int index)Sub RemoveAt(index As Integer)
Parameters
index
System.Int32 System.Int32 System.Int32

The zero-based index of the item to remove.

Attributes
See Also
System.Collections.Generic.ICollection<T>.IsReadOnlySystem.Collections.Generic.ICollection<T>.IsReadOnlySystem.Collections.Generic.ICollection<T>.IsReadOnly

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

Removes the entry at the specified index from the HttpCacheDirectiveHeaderValueCollection.

public void RemoveAt(UInt32 index)This member is not implemented in C#This member is not implemented in VB.Net
Parameters
index
System.UInt32 System.UInt32 System.UInt32

The index of the entry to remove.

Attributes

RemoveAtEnd() RemoveAtEnd() RemoveAtEnd()

Removes the last HttpNameValueHeaderValue item from the collection.

public void RemoveAtEnd()This member is not implemented in C#This member is not implemented in VB.Net
Attributes

ReplaceAll(HttpNameValueHeaderValue[]) ReplaceAll(HttpNameValueHeaderValue[]) ReplaceAll(HttpNameValueHeaderValue[])

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

public void ReplaceAll(HttpNameValueHeaderValue[] items)This member is not implemented in C#This member is not implemented in VB.Net
Parameters
items
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.

Attributes

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)This member is not implemented in C#This member is not implemented in VB.Net
Parameters
index
System.UInt32 System.UInt32 System.UInt32

The zero-based index at which to set the HttpNameValueHeaderValue.

Attributes

ToString() ToString() ToString()

Returns a string that represents the current HttpCacheDirectiveHeaderValueCollection object.

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

A string that represents the current object.

Attributes

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 bool
Parameters
input
System.String System.String System.String

The item to parse and add.

Returns
bool bool bool

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

Attributes