﻿<?xml version="1.0" encoding="utf-8"?><Type Name="WebHeaderCollection" FullName="System.Net.WebHeaderCollection" FullNameSP="System_Net_WebHeaderCollection" Maintainer="ecma"><TypeSignature Language="ILASM" Value=".class public serializable WebHeaderCollection extends System.Collections.Specialized.NameValueCollection" /><TypeSignature Language="C#" Value="public class WebHeaderCollection : System.Collections.Specialized.NameValueCollection, System.Runtime.Serialization.ISerializable" /><TypeSignature Language="ILAsm" Value=".class public auto ansi serializable WebHeaderCollection extends System.Collections.Specialized.NameValueCollection implements class System.Runtime.Serialization.ISerializable" /><MemberOfLibrary>Networking</MemberOfLibrary><AssemblyInfo><AssemblyName>System</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey><AssemblyVersion>1.0.x.x</AssemblyVersion><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement><Base><BaseTypeName>System.Collections.Specialized.NameValueCollection</BaseTypeName></Base><Interfaces><Interface><InterfaceName>System.Runtime.Serialization.ISerializable</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="T:System.Net.WebHeaderCollection" /> class is generally accessed through <see cref="P:System.Net.WebRequest.Headers" /> or <see cref="P:System.Net.WebResponse.Headers" />. Some common headers are considered restricted and are either exposed directly by the API (such as Content-Type) or protected by the system and cannot be changed.</para><para>The restricted headers are: </para><list type="bullet"><item><para>Accept </para></item><item><para>Connection </para></item><item><para>Content-Length </para></item><item><para>Content-Type </para></item><item><para>Date </para></item><item><para>Expect </para></item><item><para>Host </para></item><item><para>If-Modified-Since </para></item><item><para>Range </para></item><item><para>Referer </para></item><item><para>Transfer-Encoding </para></item><item><para>User-Agent </para></item><item><para>Proxy-Connection</para></item></list></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Contains protocol headers associated with a request or response.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()" /><MemberSignature Language="C#" Value="public WebHeaderCollection ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters /><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Net.WebHeaderCollection" /> class.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="protected WebHeaderCollection (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);" /><MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(class System.Runtime.Serialization.SerializationInfo serializationInfo, valuetype System.Runtime.Serialization.StreamingContext streamingContext) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="serializationInfo" Type="System.Runtime.Serialization.SerializationInfo" /><Parameter Name="streamingContext" Type="System.Runtime.Serialization.StreamingContext" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This constructor implements the <see cref="T:System.Runtime.Serialization.ISerializable" /> interface for the <see cref="T:System.Net.WebHeaderCollection" /> class.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Net.WebHeaderCollection" /> class from the specified instances of the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> and <see cref="T:System.Runtime.Serialization.StreamingContext" /> classes.</para></summary><param name="serializationInfo"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Runtime.Serialization.SerializationInfo" /> containing the information required to serialize the <see cref="T:System.Net.WebHeaderCollection" />. </param><param name="streamingContext"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Runtime.Serialization.StreamingContext" /> containing the source of the serialized stream associated with the new <see cref="T:System.Net.WebHeaderCollection" />. </param></Docs></Member><Member MemberName="Add"><MemberSignature Language="ILASM" Value=".method public hidebysig instance void Add(string header)" /><MemberSignature Language="C#" Value="public void Add (string header);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Add(string header) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="header" Type="System.String" /></Parameters><Docs><exception cref="T:System.ArgumentNullException"><paramref name="header " /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception><exception cref="T:System.ArgumentException"><para><paramref name="header" /> does not contain a colon (:) character.</para><para>-or-</para><para><c>name</c> is <see cref="F:System.String.Empty" />, or contains invalid characters.</para><para>-or-</para><para><paramref name="header" /> is a protected header that can only be set with a property accessor or by the system. </para><para>-or-</para><para><c>value</c> contains invalid characters.</para></exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <paramref name="header" /> parameter must be specified in the format "name:value". If the specified header does not exist in the collection, a new header is added to the collection.</para><para>If the header specified in <paramref name="header" /> is already present in the collection, the value part of the <paramref name="header" /> is concatenated with the existing value.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Inserts the specified header into the collection.</para></summary><param name="header"><attribution license="cc4" from="Microsoft" modified="false" />The header to add, with the name and value separated by a colon. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="Add"><MemberSignature Language="C#" Value="public void Add (System.Net.HttpRequestHeader header, string value);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Add(valuetype System.Net.HttpRequestHeader header, string value) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="header" Type="System.Net.HttpRequestHeader" /><Parameter Name="value" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If the specified header does not exist, the <see cref="M:System.Net.WebHeaderCollection.Add(System.Net.HttpRequestHeader,System.String)" /> method inserts a new header into the list of header name/value pairs.</para><para>If the specified header is already present, <paramref name="value" /> is added to the comma-separated list of values associated with the header.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Inserts the specified header with the specified value into the collection.</para></summary><param name="header"><attribution license="cc4" from="Microsoft" modified="false" />The header to add to the collection. </param><param name="value"><attribution license="cc4" from="Microsoft" modified="false" />The content of the header. </param></Docs></Member><Member MemberName="Add"><MemberSignature Language="C#" Value="public void Add (System.Net.HttpResponseHeader header, string value);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Add(valuetype System.Net.HttpResponseHeader header, string value) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="header" Type="System.Net.HttpResponseHeader" /><Parameter Name="value" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If the specified header does not exist, the <see cref="M:System.Net.WebHeaderCollection.Add(System.Net.HttpRequestHeader,System.String)" /> method inserts a new header into the list of header name/value pairs.</para><para>If the specified header is already present, <paramref name="value" /> is added to the comma-separated list of values associated with the header.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Inserts the specified header with the specified value into the collection.</para></summary><param name="header"><attribution license="cc4" from="Microsoft" modified="false" />The header to add to the collection. </param><param name="value"><attribution license="cc4" from="Microsoft" modified="false" />The content of the header. </param></Docs></Member><Member MemberName="Add"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Add(string name, string value)" /><MemberSignature Language="C#" Value="public override void Add (string name, string value);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Add(string name, string value) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="name" Type="System.String" /><Parameter Name="value" Type="System.String" /></Parameters><Docs><exception cref="T:System.ArgumentException"><para><paramref name="name " /> is <see langword="null" /> or <see cref="F:System.String.Empty" />, or contains invalid characters.</para><para>-or-</para><para><paramref name="name" /> is a protected header that can only be set with a property accessor or by the system.</para><para>-or-</para><para><paramref name="value" /> contains invalid characters.</para></exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If the header specified in <paramref name="name" /> does not exist, the <see cref="M:System.Net.WebHeaderCollection.Add(System.Net.HttpRequestHeader,System.String)" /> method inserts a new header into the list of header name/value pairs.</para><para>If the header specified in <paramref name="name" /> is already present, <paramref name="value" /> is added to the existing comma-separated list of values associated with <paramref name="name" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Inserts a header with the specified name and value into the collection.</para></summary><param name="name"><attribution license="cc4" from="Microsoft" modified="false" />The header to add to the collection. </param><param name="value"><attribution license="cc4" from="Microsoft" modified="false" />The content of the header. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="AddWithoutValidate"><MemberSignature Language="ILASM" Value=".method family hidebysig instance void AddWithoutValidate(string headerName, string headerValue)" /><MemberSignature Language="C#" Value="protected void AddWithoutValidate (string headerName, string headerValue);" /><MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void AddWithoutValidate(string headerName, string headerValue) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="headerName" Type="System.String" /><Parameter Name="headerValue" Type="System.String" /></Parameters><Docs><exception cref="T:System.ArgumentException"><para><paramref name="headerName " /> is <see langword="null" /> or <see cref="F:System.String.Empty" />, or contains invalid characters.</para><para>-or-</para><para><paramref name="headerValue" /> contains invalid characters.</para></exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Net.WebHeaderCollection.AddWithoutValidate(System.String,System.String)" /> method adds a header to the collection without checking whether the header is on the restricted header list.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Inserts a header into the collection without checking whether the header is on the restricted header list.</para></summary><param name="headerName"><attribution license="cc4" from="Microsoft" modified="false" />The header to add to the collection. </param><param name="headerValue"><attribution license="cc4" from="Microsoft" modified="false" />The content of the header. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="AllKeys"><MemberSignature Language="C#" Value="public override string[] AllKeys { get; }" /><MemberSignature Language="ILAsm" Value=".property instance string[] AllKeys" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String[]</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets all header names (keys) in the collection.</para></summary></Docs></Member><Member MemberName="Clear"><MemberSignature Language="C#" Value="public override void Clear ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Clear() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Removes all headers from the collection.</para></summary></Docs></Member><Member MemberName="Count"><MemberSignature Language="C#" Value="public override int Count { get; }" /><MemberSignature Language="ILAsm" Value=".property instance int32 Count" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the number of headers in the collection.</para></summary></Docs></Member><Member MemberName="Get"><MemberSignature Language="C#" Value="public override string Get (int index);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string Get(int32 index) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters><Parameter Name="index" Type="System.Int32" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Get the value of a particular header in the collection, specified by an index into the collection.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A <see cref="T:System.String" /> containing the value of the specified header.</para></returns><param name="index"><attribution license="cc4" from="Microsoft" modified="false" />The zero-based index of the key to get from the collection.</param></Docs></Member><Member MemberName="Get"><MemberSignature Language="C#" Value="public override string Get (string name);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string Get(string name) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters><Parameter Name="name" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method returns null if there is no <paramref name="name" /> header in the collection.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Get the value of a particular header in the collection, specified by the name of the header.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A <see cref="T:System.String" /> holding the value of the specified header.</para></returns><param name="name"><attribution license="cc4" from="Microsoft" modified="false" />The name of the Web header.</param></Docs></Member><Member MemberName="GetEnumerator"><MemberSignature Language="C#" Value="public override System.Collections.IEnumerator GetEnumerator ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Collections.IEnumerator GetEnumerator() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Collections.IEnumerator</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns an enumerator that can iterate through the <see cref="T:System.Net.WebHeaderCollection" /> instance.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An <see cref="T:System.Collections.IEnumerator" /> for the <see cref="T:System.Net.WebHeaderCollection" />.</para></returns></Docs></Member><Member MemberName="GetKey"><MemberSignature Language="C#" Value="public override string GetKey (int index);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string GetKey(int32 index) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters><Parameter Name="index" Type="System.Int32" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Get the header name at the specified position in the collection.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A <see cref="T:System.String" /> holding the header name.</para></returns><param name="index"><attribution license="cc4" from="Microsoft" modified="false" />The zero-based index of the key to get from the collection.</param></Docs></Member><Member MemberName="GetObjectData"><MemberSignature Language="C#" Value="public override void GetObjectData (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void GetObjectData(class System.Runtime.Serialization.SerializationInfo serializationInfo, valuetype System.Runtime.Serialization.StreamingContext streamingContext) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="serializationInfo" Type="System.Runtime.Serialization.SerializationInfo" /><Parameter Name="streamingContext" Type="System.Runtime.Serialization.StreamingContext" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Any objects included in the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> are automatically tracked and serialized by the formatter.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Populates a <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with the data needed to serialize the target object.</para></summary><param name="serializationInfo"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> to populate with data. </param><param name="streamingContext"><attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Runtime.Serialization.StreamingContext" /> that specifies the destination for this serialization.</param></Docs></Member><Member MemberName="GetValues"><MemberSignature Language="C#" Value="public override string[] GetValues (int index);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string[] GetValues(int32 index) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String[]</ReturnType></ReturnValue><Parameters><Parameter Name="index" Type="System.Int32" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para><see cref="M:System.Net.WebHeaderCollection.GetValues(System.Int32)" /> returns the contents of the specified header as an array.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets an array of header values stored in the <paramref name="index" /> position of the header collection.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An array of header strings.</para></returns><param name="index"><attribution license="cc4" from="Microsoft" modified="false" />The header index to return.</param></Docs></Member><Member MemberName="GetValues"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.String[] GetValues(string header)" /><MemberSignature Language="C#" Value="public override string[] GetValues (string header);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string[] GetValues(string header) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String[]</ReturnType></ReturnValue><Parameters><Parameter Name="header" Type="System.String" /></Parameters><Docs><example><para>This example demonstrates the <see cref="M:System.Net.WebHeaderCollection.GetValues(System.String)" /> method.</para><code lang="C#">
using System;
using System.Net;

class GetValuesExample
{
   public static void Main()
   {
      Uri contosoUri = new Uri("http://www.contoso.com");
      HttpWebRequest httpContoso = 
         (HttpWebRequest)WebRequest.Create(contosoUri);

      httpContoso.SendChunked=true;
      httpContoso.TransferEncoding="compress";
      httpContoso.TransferEncoding="gzip";
    
      WebHeaderCollection webColl = httpContoso.Headers;
      String[] sAry = webColl.GetValues("Transfer-Encoding");

      Console.WriteLine("Transfer-Encoding:");
      foreach(string s in sAry)
         Console.WriteLine("{0}", s);
   }
}
</code><para>The output is</para><para>
Transfer-Encoding:</para><para> compress</para><para> gzip
</para></example><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para><see cref="M:System.Net.WebHeaderCollection.GetValues(System.String)" /> returns the contents of the specified header as an array.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets an array of header values stored in a header.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An array of header strings.</para></returns><param name="header"><attribution license="cc4" from="Microsoft" modified="false" />The header to return. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="IsRestricted"><MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsRestricted(string headerName)" /><MemberSignature Language="C#" Value="public static bool IsRestricted (string headerName);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsRestricted(string headerName) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="headerName" Type="System.String" /></Parameters><Docs><exception cref="T:System.ArgumentNullException"><paramref name="headerName" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception><exception cref="T:System.ArgumentException"><para><paramref name="headerName " /> contains invalid characters.</para></exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Net.WebHeaderCollection.IsRestricted(System.String)" /> method returns true to indicate that a header is restricted and must be set using properties instead of directly or is set by the system. The restricted headers are: </para><list type="bullet"><item><para>Accept </para></item><item><para>Connection </para></item><item><para>Content-Length </para></item><item><para>Content-Type </para></item><item><para>Date </para></item><item><para>Expect </para></item><item><para>Host </para></item><item><para>If-Modified-Since </para></item><item><para>Range </para></item><item><para>Referer </para></item><item><para>Transfer-Encoding </para></item><item><para>User-Agent </para></item><item><para>Proxy-Connection</para></item></list></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Tests whether the specified HTTP header can be set for the request.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the header is restricted; otherwise false.</para></returns><param name="headerName"><attribution license="cc4" from="Microsoft" modified="false" />The header to test. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="IsRestricted"><MemberSignature Language="C#" Value="public static bool IsRestricted (string headerName, bool response);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsRestricted(string headerName, bool response) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="headerName" Type="System.String" /><Parameter Name="response" Type="System.Boolean" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Net.WebHeaderCollection.IsRestricted(System.String,System.Boolean)" /> method returns true to indicate that a request or response header is restricted and must be set using properties instead of directly or is set by the system. The restricted headers are: </para><list type="bullet"><item><para>Accept </para></item><item><para>Connection </para></item><item><para>Content-Length </para></item><item><para>Content-Type </para></item><item><para>Date </para></item><item><para>Expect </para></item><item><para>Host </para></item><item><para>If-Modified-Since </para></item><item><para>Range </para></item><item><para>Referer </para></item><item><para>Transfer-Encoding </para></item><item><para>User-Agent </para></item><item><para>Proxy-Connection</para></item></list></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Tests whether the specified HTTP header can be set for the request or the response.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if the header is restricted; otherwise, false.</para></returns><param name="headerName"><attribution license="cc4" from="Microsoft" modified="false" />The header to test.</param><param name="response"><attribution license="cc4" from="Microsoft" modified="false" />Does the Framework test the response or the request?</param></Docs></Member><Member MemberName="Item"><MemberSignature Language="C#" Value="public string this[System.Net.HttpRequestHeader header] { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance string Item(valuetype System.Net.HttpRequestHeader)" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters><Parameter Name="header" Type="System.Net.HttpRequestHeader" /></Parameters><Docs><param name="header">To be added.</param><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="Item"><MemberSignature Language="C#" Value="public string this[System.Net.HttpResponseHeader header] { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance string Item(valuetype System.Net.HttpResponseHeader)" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters><Parameter Name="header" Type="System.Net.HttpResponseHeader" /></Parameters><Docs><param name="header">To be added.</param><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="Keys"><MemberSignature Language="C#" Value="public override System.Collections.Specialized.NameObjectCollectionBase.KeysCollection Keys { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Specialized.NameObjectCollectionBase/KeysCollection Keys" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Collections.Specialized.NameObjectCollectionBase+KeysCollection</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the collection of header names (keys) in the collection.</para></summary></Docs></Member><Member MemberName="OnDeserialization"><MemberSignature Language="C#" Value="public override void OnDeserialization (object sender);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void OnDeserialization(object sender) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="sender" Type="System.Object" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Implements the <see cref="T:System.Runtime.Serialization.ISerializable" /> interface and raises the deserialization event when the deserialization is complete.</para></summary><param name="sender"><attribution license="cc4" from="Microsoft" modified="false" />The source of the deserialization event.</param></Docs></Member><Member MemberName="Remove"><MemberSignature Language="C#" Value="public void Remove (System.Net.HttpRequestHeader header);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Remove(valuetype System.Net.HttpRequestHeader header) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="header" Type="System.Net.HttpRequestHeader" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para><see cref="M:System.Net.WebHeaderCollection.Remove(System.Net.HttpRequestHeader)" /> deletes the specified header from the collection. If the specified header does not exist, the method does nothing.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Removes the specified header from the collection.</para></summary><param name="header"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Net.HttpRequestHeader" /> instance to remove from the collection. </param></Docs></Member><Member MemberName="Remove"><MemberSignature Language="C#" Value="public void Remove (System.Net.HttpResponseHeader header);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Remove(valuetype System.Net.HttpResponseHeader header) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="header" Type="System.Net.HttpResponseHeader" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para><see cref="M:System.Net.WebHeaderCollection.Remove(System.Net.HttpRequestHeader)" /> deletes the specified header from the collection. If the specified header does not exist, the method does nothing.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Removes the specified header from the collection.</para></summary><param name="header"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Net.HttpResponseHeader" /> instance to remove from the collection. </param></Docs></Member><Member MemberName="Remove"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Remove(string name)" /><MemberSignature Language="C#" Value="public override void Remove (string name);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Remove(string name) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="name" Type="System.String" /></Parameters><Docs><exception cref="T:System.ArgumentNullException"><paramref name="name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception><exception cref="T:System.ArgumentException"><para><paramref name="name " /> contains invalid characters.</para><para>-or-</para><para><paramref name="name " /> is a protected header that can only be set with a property accessor or by the system.</para></exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para><see cref="M:System.Net.WebHeaderCollection.Remove(System.Net.HttpRequestHeader)" /> deletes the specified header from the collection. If the specified header does not exist, the method returns.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Removes the specified header from the collection.</para></summary><param name="name"><attribution license="cc4" from="Microsoft" modified="false" />The name of the header to remove from the collection. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="Set"><MemberSignature Language="C#" Value="public void Set (System.Net.HttpRequestHeader header, string value);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Set(valuetype System.Net.HttpRequestHeader header, string value) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="header" Type="System.Net.HttpRequestHeader" /><Parameter Name="value" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If the header specified in the header does not exist, the <see cref="M:System.Net.WebHeaderCollection.Set(System.Net.HttpRequestHeader,System.String)" /> method inserts a new header into the list of header name/value pairs.</para><para>If the header specified in <paramref name="header" /> is already present, <paramref name="value" /> replaces the existing value.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Sets the specified header to the specified value.</para></summary><param name="header"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Net.HttpRequestHeader" /> value to set. </param><param name="value"><attribution license="cc4" from="Microsoft" modified="false" />The content of the header to set. </param></Docs></Member><Member MemberName="Set"><MemberSignature Language="C#" Value="public void Set (System.Net.HttpResponseHeader header, string value);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Set(valuetype System.Net.HttpResponseHeader header, string value) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="header" Type="System.Net.HttpResponseHeader" /><Parameter Name="value" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If the header specified in the header does not exist, the <see cref="M:System.Net.WebHeaderCollection.Set(System.Net.HttpRequestHeader,System.String)" /> method inserts a new header into the list of header name/value pairs.</para><para>If the header specified in <paramref name="header" /> is already present, <paramref name="value" /> replaces the existing value.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Sets the specified header to the specified value.</para></summary><param name="header"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Net.HttpResponseHeader" /> value to set. </param><param name="value"><attribution license="cc4" from="Microsoft" modified="false" />The content of the header to set. </param></Docs></Member><Member MemberName="Set"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Set(string name, string value)" /><MemberSignature Language="C#" Value="public override void Set (string name, string value);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Set(string name, string value) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="name" Type="System.String" /><Parameter Name="value" Type="System.String" /></Parameters><Docs><exception cref="T:System.ArgumentNullException"><paramref name="name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception><exception cref="T:System.ArgumentException"><para><paramref name="name " /> contains invalid characters.</para><para>-or-</para><para><paramref name="name " /> is a protected header that can only be set with a property accessor or by the system.</para><para> -or-</para><para><paramref name="value " /> contains invalid characters.</para></exception><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If the header specified in the header does not exist, the <see cref="M:System.Net.WebHeaderCollection.Set(System.Net.HttpRequestHeader,System.String)" /> method inserts a new header into the list of header name/value pairs.</para><para>If the header specified in <paramref name="header" /> is already present, <paramref name="value" /> replaces the existing value.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Sets the specified header to the specified value.</para></summary><param name="name"><attribution license="cc4" from="Microsoft" modified="false" />The header to set. </param><param name="value"><attribution license="cc4" from="Microsoft" modified="false" />The content of the header to set. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="System.Runtime.Serialization.ISerializable.GetObjectData"><MemberSignature Language="C#" Value="void ISerializable.GetObjectData (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Runtime.Serialization.ISerializable.GetObjectData(class System.Runtime.Serialization.SerializationInfo serializationInfo, valuetype System.Runtime.Serialization.StreamingContext streamingContext) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="serializationInfo" Type="System.Runtime.Serialization.SerializationInfo" /><Parameter Name="streamingContext" Type="System.Runtime.Serialization.StreamingContext" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Serializes this instance into the specified <see cref="T:System.Runtime.Serialization.SerializationInfo" /> object.</para></summary><param name="serializationInfo"><attribution license="cc4" from="Microsoft" modified="false" />The object into which this <see cref="T:System.Net.WebHeaderCollection" /> will be serialized. </param><param name="streamingContext"><attribution license="cc4" from="Microsoft" modified="false" />The destination of the serialization. </param></Docs></Member><Member MemberName="ToByteArray"><MemberSignature Language="C#" Value="public byte[] ToByteArray ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] ToByteArray() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Byte[]</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Converts the <see cref="T:System.Net.WebHeaderCollection" /> to a byte array..</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A <see cref="T:System.Byte" /> array holding the header collection.</para></returns></Docs></Member><Member MemberName="ToString"><MemberSignature Language="C#" Value="public override string ToString ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ToString() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>This method is obsolete.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="T:System.String" /> representation of the collection.</para></returns></Docs></Member></Members><TypeExcluded>0</TypeExcluded></Type>