WebHeaderCollection.Set Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Sets the specified header to the specified value.
Overloads
Set(HttpRequestHeader, String) |
Sets the specified header to the specified value. |
Set(HttpResponseHeader, String) |
Sets the specified header to the specified value. |
Set(String, String) |
Sets the specified header to the specified value. |
Set(HttpRequestHeader, String)
- Source:
- WebHeaderCollection.cs
- Source:
- WebHeaderCollection.cs
- Source:
- WebHeaderCollection.cs
Sets the specified header to the specified value.
public:
void Set(System::Net::HttpRequestHeader header, System::String ^ value);
public void Set (System.Net.HttpRequestHeader header, string? value);
public void Set (System.Net.HttpRequestHeader header, string value);
override this.Set : System.Net.HttpRequestHeader * string -> unit
Public Sub Set (header As HttpRequestHeader, value As String)
Parameters
- header
- HttpRequestHeader
The HttpRequestHeader value to set.
- value
- String
The content of the header to set.
Exceptions
.NET Framework and .NET Core versions 2.0 - 3.1 only: The length of value
is greater than 65535.
This WebHeaderCollection instance does not allow instances of HttpRequestHeader.
Remarks
If the header specified in the header does not exist, the Set method inserts a new header into the list of header name/value pairs.
If the header specified in header
is already present, value
replaces the existing value.
Note
The length of value
is validated only in .NET Framework and .NET Core versions 2.0 - 3.1.
- On all applicable .NET Framework versions: A WebHeaderCollection instance that's returned by the Headers property will throw an ArgumentOutOfRangeException if the length of
value
is greater than 65535. All other WebHeaderCollection instances accept avalue
of any length. - On .NET Core versions through version 3.1: A WebHeaderCollection instance used with any header of type HttpResponseHeader will throw an ArgumentOutOfRangeException if the length of
value
is greater than 65535. All other WebHeaderCollection instances accept avalue
of any length. - On .NET 5 and later versions: WebHeaderCollection accepts a
value
of any length.
Applies to
Set(HttpResponseHeader, String)
- Source:
- WebHeaderCollection.cs
- Source:
- WebHeaderCollection.cs
- Source:
- WebHeaderCollection.cs
Sets the specified header to the specified value.
public:
void Set(System::Net::HttpResponseHeader header, System::String ^ value);
public void Set (System.Net.HttpResponseHeader header, string? value);
public void Set (System.Net.HttpResponseHeader header, string value);
override this.Set : System.Net.HttpResponseHeader * string -> unit
Public Sub Set (header As HttpResponseHeader, value As String)
Parameters
- header
- HttpResponseHeader
The HttpResponseHeader value to set.
- value
- String
The content of the header to set.
Exceptions
.NET Framework and .NET Core versions 2.0 - 3.1 only: The length of value
is greater than 65535.
This WebHeaderCollection instance does not allow instances of HttpResponseHeader.
Remarks
If the header specified in the header does not exist, the Set method inserts a new header into the list of header name/value pairs.
If the header specified in header
is already present, value
replaces the existing value.
Note
The length of value
is validated only in .NET Framework and .NET Core versions 2.0 - 3.1.
- On all applicable .NET Framework versions: A WebHeaderCollection instance that's returned by the Headers property will throw an ArgumentOutOfRangeException if the length of
value
is greater than 65535. All other WebHeaderCollection instances accept avalue
of any length. - On .NET Core versions through version 3.1: A WebHeaderCollection instance used with any header of type HttpResponseHeader will throw an ArgumentOutOfRangeException if the length of
value
is greater than 65535. All other WebHeaderCollection instances accept avalue
of any length. - On .NET 5 and later versions: WebHeaderCollection accepts a
value
of any length.
Applies to
Set(String, String)
- Source:
- WebHeaderCollection.cs
- Source:
- WebHeaderCollection.cs
- Source:
- WebHeaderCollection.cs
Sets the specified header to the specified value.
public:
override void Set(System::String ^ name, System::String ^ value);
public override void Set (string name, string? value);
public override void Set (string name, string value);
override this.Set : string * string -> unit
Public Overrides Sub Set (name As String, value As String)
Parameters
- name
- String
The header to set.
- value
- String
The content of the header to set.
Exceptions
name
is null
or Empty.
.NET Framework and .NET Core versions 2.0 - 3.1 only: The length of value
is greater than 65535.
Examples
The following example uses the Set method to set the value of an existing header.
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;
// Set the Cache-Control header in the request.
myWebHeaderCollection->Set( "Cache-Control", "no-cache" );
// Get the associated response for the above request.
HttpWebResponse^ myHttpWebResponse = dynamic_cast<HttpWebResponse^>(myHttpWebRequest->GetResponse());
Console::WriteLine( "Headers after 'Set' method is used on Cache-Control :" );
// Print the headers for the request.
PrintHeaders( myWebHeaderCollection );
myHttpWebResponse->Close();
}
// Catch exception if trying to set a restricted header.
catch ( ArgumentException^ e )
{
Console::WriteLine( "ArgumentException is thrown. Message is : {0}", e->Message );
}
catch ( WebException^ e )
{
Console::WriteLine( "WebException is thrown. Message 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 "www.msn.com".
HttpWebRequest myHttpWebRequest = (HttpWebRequest) WebRequest.Create("http://www.msn.com");
// Get the headers associated with the request.
WebHeaderCollection myWebHeaderCollection = myHttpWebRequest.Headers;
// Set the Cache-Control header in the request.
myWebHeaderCollection.Set("Cache-Control", "no-cache");
// Get the associated response for the above request.
HttpWebResponse myHttpWebResponse = (HttpWebResponse) myHttpWebRequest.GetResponse();
Console.WriteLine ("Headers after 'Set' method is used on Cache-Control :");
// Print the headers for the request.
PrintHeaders(myWebHeaderCollection);
myHttpWebResponse.Close();
}
// Catch exception if trying to set a restricted header.
catch(ArgumentException e) {
Console.WriteLine("ArgumentException is thrown. Message is :" + e.Message);
}
catch(WebException e) {
Console.WriteLine("WebException is thrown. Message is :" + e.Message);
if(e.Status == WebExceptionStatus.ProtocolError) {
Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode);
Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription);
Console.WriteLine("Server : {0}", ((HttpWebResponse)e.Response).Server);
}
}
catch(Exception e) {
Console.WriteLine("Exception is thrown. Message is :" + e.Message);
}
Public Shared Sub Main()
Try
'Create a web request for "www.msn.com".
Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create("http://www.msn.com"), HttpWebRequest)
'Get the headers associated with the request.
Dim myWebHeaderCollection As WebHeaderCollection = myHttpWebRequest.Headers
'Set the Cache-Control header in the request.
myWebHeaderCollection.Set("Cache-Control", "no-cache")
'Get the associated response for the above request.
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
Console.WriteLine ("Headers after 'Set' method is used on Cache-Control :")
'Print the headers for the request.
PrintHeaders(myWebHeaderCollection)
myHttpWebResponse.Close()
'Catch exception if trying to set a restricted header.
Catch e As ArgumentException
Console.WriteLine(e.Message)
Catch e As WebException
Console.WriteLine(e.Message)
If e.Status = WebExceptionStatus.ProtocolError Then
Console.WriteLine("Status Code : {0}", CType(e.Response, HttpWebResponse).StatusCode)
Console.WriteLine("Status Description : {0}", CType(e.Response, HttpWebResponse).StatusDescription)
Console.WriteLine("Server : {0}", CType(e.Response, HttpWebResponse).Server)
End If
Catch e As Exception
Console.WriteLine(e.Message)
End Try
End Sub
Note
The length of value
is validated only in .NET Framework and .NET Core versions 2.0 - 3.1.
- On all applicable .NET Framework versions: A WebHeaderCollection instance that's returned by the Headers property will throw an ArgumentOutOfRangeException if the length of
value
is greater than 65535. All other WebHeaderCollection instances accept avalue
of any length. - On .NET Core versions through version 3.1: A WebHeaderCollection instance used with any header of type HttpResponseHeader will throw an ArgumentOutOfRangeException if the length of
value
is greater than 65535. All other WebHeaderCollection instances accept avalue
of any length. - On .NET 5 and later versions: WebHeaderCollection accepts a
value
of any length.
Remarks
If the header specified in the header does not exist, the Set method inserts a new header into the list of header name/value pairs.
If the header specified in header
is already present, value
replaces the existing value.