Export (0) Print
Expand All

WebHeaderCollection::Add Method (String)

Inserts the specified header into the collection.

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

public:
void Add(
	String^ header
)

Parameters

header
Type: System::String

The header to add, with the name and value separated by a colon.

ExceptionCondition
ArgumentNullException

header is nullptr or Empty.

ArgumentException

header does not contain a colon (:) character.

The length of value is greater than 65535.

-or-

The name part of header is Empty or contains invalid characters.

-or-

header is a restricted header that should be set with a property.

-or-

The value part of header contains invalid characters.

ArgumentOutOfRangeException

The length the string after the colon (:) is greater than 65535.

The 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.

If the header specified in header is already present in the collection, the value part of the header is concatenated with the existing value.

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

try
{
   //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 );
   myHttpWebResponse->Close();
}
//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 );
}
try {
   //Create a web request for S"www.msn.com".
   HttpWebRequest* myHttpWebRequest = 
      dynamic_cast<HttpWebRequest*> (WebRequest::Create(S"http://www.msn.com"));

   //Get the headers associated with the request.
   WebHeaderCollection* myWebHeaderCollection = myHttpWebRequest->Headers;

   Console::WriteLine(S"Configuring Webrequest to accept Danish and English language using 'Add' method");

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

   //Include English in the Accept-Langauge header.
   myWebHeaderCollection->Add(S"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);
   myHttpWebResponse->Close();
}
//Catch exception if trying to add a restricted header.
catch(ArgumentException* e) {
   Console::WriteLine(e->Message);
} catch (WebException* e) {
   Console::WriteLine(S"\nWebException is thrown. \nMessage is : {0}", e->Message);
   if (e->Status == WebExceptionStatus::ProtocolError) {
      Console::WriteLine(S"Status Code : {0}", 
         __box((dynamic_cast<HttpWebResponse*>(e->Response))->StatusCode));
      Console::WriteLine(S"Status Description : {0}", 
         (dynamic_cast<HttpWebResponse*>(e->Response))->StatusDescription);
      Console::WriteLine(S"Server : {0}", 
         (dynamic_cast<HttpWebResponse*>(e->Response))->Server);
   }
} catch (Exception* e) {
   Console::WriteLine(S"Exception is thrown. Message is : {0}", e->Message);
}

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft