WebHeaderCollection::Add Method (String^, String^)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Inserts a header with the specified name and value into the collection.

Namespace:   System.Net
Assembly:  System (in System.dll)

virtual void Add(
	String^ name,
	String^ value
) override


Type: System::String^

The header to add to the collection.

Type: System::String^

The content of the header.

Exception Condition

name is null, Empty, or contains invalid characters.


name is a restricted header that must be set with a property setting.


value contains invalid characters.


The length of value is greater than 65535.

If the header specified in name does not exist, the Add method inserts a new header into the list of header name/value pairs.

If the header specified in name is already present, value is added to the existing comma-separated list of values associated with name.

The following example adds a name/value pair to a WebHeaderCollection using the Add Method.

   //Create a web request for S"www.msn.com".
   HttpWebRequest^ myHttpWebRequest = dynamic_cast<HttpWebRequest^>(WebRequest::Create( "http://www.msn.com" ));

   //Get the headers associated with the request.
   WebHeaderCollection^ myWebHeaderCollection = myHttpWebRequest->Headers;
   Console::WriteLine( "Configuring Webrequest to accept Danish and English language using 'Add' method" );

   //Add the Accept-Language header (for Danish) in the request.
   myWebHeaderCollection->Add( "Accept-Language:da" );

   //Include English in the Accept-Langauge header.
   myWebHeaderCollection->Add( "Accept-Language:en;q=0.8" );

   //Get the associated response for the above request.
   HttpWebResponse^ myHttpWebResponse = dynamic_cast<HttpWebResponse^>(myHttpWebRequest->GetResponse());

   //Print the headers for the request.
   printHeaders( myWebHeaderCollection );
//Catch exception if trying to add a restricted header.
catch ( ArgumentException^ e ) 
   Console::WriteLine( e->Message );
catch ( WebException^ e ) 
   Console::WriteLine( "\nWebException is thrown. \nMessage is : {0}", e->Message );
   if ( e->Status == WebExceptionStatus::ProtocolError )
      Console::WriteLine( "Status Code : {0}", (dynamic_cast<HttpWebResponse^>(e->Response))->StatusCode );
      Console::WriteLine( "Status Description : {0}", (dynamic_cast<HttpWebResponse^>(e->Response))->StatusDescription );
      Console::WriteLine( "Server : {0}", (dynamic_cast<HttpWebResponse^>(e->Response))->Server );
catch ( Exception^ e ) 
   Console::WriteLine( "Exception is thrown. Message is : {0}", e->Message );

.NET Framework
Available since 1.1
Return to top