Skip to main content
HttpConnectionOptionHeaderValueCollection class

Represents the value of the Connection HTTP header on an HTTP request.


var httpConnectionOptionHeaderValueCollection = connection;

public sealed class HttpConnectionOptionHeaderValueCollection : IList<HttpConnectionOptionHeaderValue>,

Public NotInheritable Class HttpConnectionOptionHeaderValueCollection
    Implements IList(Of HttpConnectionOptionHeaderValue), _
    IEnumerable(Of HttpConnectionOptionHeaderValue), _

public ref class HttpConnectionOptionHeaderValueCollection sealed : IVector<HttpConnectionOptionHeaderValue>,


The HttpConnectionOptionHeaderValueCollection class has these types of members:


The HttpConnectionOptionHeaderValueCollection class has these methods. With C#, Visual Basic, and C++, it also inherits methods from the Object class.

Add [C#, VB]Adds a new item to the end of the collection.
Append Adds a new HttpConnectionOptionHeaderValue item to the end of the collection.
Clear Removes all HttpConnectionOptionHeaderValue objects from the collection.
Contains [C#, VB]Determines whether an element is in the collection.
CopyTo [C#, VB]Copies the elements of the collection to an array, starting at a particular array index in the destination array.
First Retrieves an iterator to the first HttpConnectionOptionHeaderValue item in the collection.
GetAt Returns the HttpConnectionOptionHeaderValue at the specified index in the collection.
GetMany Retrieves the HttpConnectionOptionHeaderValue items that start at the specified index in the collection.
GetView Returns an immutable view of the HttpConnectionOptionHeaderValueCollection.
IndexOf Retrieves the index of an HttpConnectionOptionHeaderValue in the collection.
IndexOf [C#, VB]Determines the index of a specific item in the collection.
Insert [C#, VB]Inserts an item into the collection at the specified index.
InsertAt Inserts an HttpConnectionOptionHeaderValue into the collection at the specified index.
ParseAdd Parses and adds an entry to the HttpConnectionOptionHeaderValueCollection.
Remove [C#, VB]Removes a specific object from the collection.
RemoveAt Removes the entry at the specified index from the HttpConnectionOptionHeaderValueCollection.
RemoveAt [C#, VB]Removes the element at the specified index of the collection.
RemoveAtEnd Removes the last HttpConnectionOptionHeaderValue item from the collection.
ReplaceAll Replaces all the HttpConnectionOptionHeaderValue items in the collection with the specified HttpConnectionOptionHeaderValue items.
SetAt Sets the HttpConnectionOptionHeaderValue at the specified index in the collection.
ToString Returns a string that represents the current HttpConnectionOptionHeaderValueCollection object.
TryParseAdd Tries to parse and add the specified item to the HttpConnectionOptionHeaderValueCollection.



The HttpConnectionOptionHeaderValueCollection class has these properties.

PropertyAccess typeDescription

Count [C#, VB]


Gets the number of elements that are contained in the collection.

IsReadOnly [C#, VB]


Gets a value indicating whether the collection is read-only.

Item [C#, VB]


Gets or sets the element at the specified index.



Gets the number of HttpConnectionOptionHeaderValue objects in the collection.



The HttpConnectionOptionHeaderValueCollection represents the value of the Connection HTTP header on an HTTP request.

The HttpConnectionOptionHeaderValueCollection is a collection of HttpConnectionOptionHeaderValue objects used for connection information on the HTTP Connection header.

The Connection property on the HttpRequestHeaderCollection returns an HttpConnectionOptionHeaderValueCollection object.

Collection member lists

For JavaScript, HttpConnectionOptionHeaderValueCollection has the members shown in the member lists. In addition, HttpConnectionOptionHeaderValueCollection 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 HttpConnectionOptionHeaderValueCollection 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<HttpConnectionOptionHeaderValue> 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 HttpConnectionOptionHeaderValue constraint.


The following sample code shows a method to get and set the Connection HTTP header on an HttpRequestMessage object using the properties and methods on the HttpConnectionOptionHeaderValueCollection and HttpConnectionOptionHeaderValue classes.

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

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

            // Set the header with a string.
            parsedOk = request.Headers.Connection.TryParseAdd("close");

            // Set the header with a strong type.
            request.Headers.Connection.Add(new HttpConnectionOptionHeaderValue("cache-control"));

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

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

Requirements (Windows 10 device family)

Device family

Universal, introduced version 10.0.10240.0

API contract

Windows.Foundation.UniversalApiContract, introduced version 1.0


Windows::Web::Http::Headers [C++]



Requirements (Windows 8.x and Windows Phone 8.x)

Minimum supported client

Windows 8.1 [Windows Store apps, desktop apps]

Minimum supported server

Windows Server 2012 R2 [Windows Store apps, desktop apps]

Minimum supported phone

Windows Phone 8.1 [Windows Phone Silverlight 8.1 and Windows Runtime apps]


Windows::Web::Http::Headers [C++]




[ DualApiPartition()]
[ MarshalingBehavior(Agile)]
[ Threading(Both)]
[ Version(0x06030000)]

See also