Поделиться через


WebHeaderCollection.Set Метод

Определение

Устанавливает заданный заголовок в указанное значение.

Перегрузки

Set(HttpRequestHeader, String)

Устанавливает заданный заголовок в указанное значение.

Set(HttpResponseHeader, String)

Устанавливает заданный заголовок в указанное значение.

Set(String, String)

Устанавливает заданный заголовок в указанное значение.

Set(HttpRequestHeader, String)

Исходный код:
WebHeaderCollection.cs
Исходный код:
WebHeaderCollection.cs
Исходный код:
WebHeaderCollection.cs

Устанавливает заданный заголовок в указанное значение.

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)

Параметры

header
HttpRequestHeader

Задаваемое значение HttpRequestHeader.

value
String

Содержимое задаваемого заголовка.

Исключения

Только .NET Framework и .NET Core версий 2.0–3.1: длина value превышает 65 535 символов.

Этот экземпляр WebHeaderCollection не допускает экземпляры класса HttpRequestHeader.

Комментарии

Если заголовок, указанный в заголовке, не существует, Set метод вставляет новый заголовок в список пар имя-значение заголовка.

Если заголовок, указанный в , header уже присутствует, value заменяет существующее значение.

Примечание

Длина value проверяется только в .NET Framework и .NET Core версий 2.0–3.1.

  • Во всех применимых версиях .NET Framework: WebHeaderCollection экземпляр, возвращаемый свойством Headers , вызовет исключение , ArgumentOutOfRangeException если длина value больше 65535. Все остальные WebHeaderCollection экземпляры принимают объект любой value длины.
  • В версиях .NET Core до версии 3.1: экземпляр, используемый WebHeaderCollection с любым заголовком типа HttpResponseHeader , вызывает исключение , ArgumentOutOfRangeException если длина value превышает 65535. Все остальные WebHeaderCollection экземпляры принимают объект любой value длины.
  • В .NET 5 и более поздних версиях: WebHeaderCollection принимает объект любой value длины.

Применяется к

Set(HttpResponseHeader, String)

Исходный код:
WebHeaderCollection.cs
Исходный код:
WebHeaderCollection.cs
Исходный код:
WebHeaderCollection.cs

Устанавливает заданный заголовок в указанное значение.

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)

Параметры

header
HttpResponseHeader

Задаваемое значение HttpResponseHeader.

value
String

Содержимое задаваемого заголовка.

Исключения

Только .NET Framework и .NET Core версий 2.0–3.1: длина value превышает 65 535 символов.

Этот экземпляр WebHeaderCollection не допускает экземпляры класса HttpResponseHeader.

Комментарии

Если заголовок, указанный в заголовке, не существует, Set метод вставляет новый заголовок в список пар имя-значение заголовка.

Если заголовок, указанный в , header уже присутствует, value заменяет существующее значение.

Примечание

Длина value проверяется только в .NET Framework и .NET Core версий 2.0–3.1.

  • Во всех применимых версиях .NET Framework: WebHeaderCollection экземпляр, возвращаемый свойством Headers , вызовет исключение , ArgumentOutOfRangeException если длина value больше 65535. Все остальные WebHeaderCollection экземпляры принимают объект любой value длины.
  • В версиях .NET Core до версии 3.1: экземпляр, используемый WebHeaderCollection с любым заголовком типа HttpResponseHeader , вызывает исключение , ArgumentOutOfRangeException если длина value превышает 65535. Все остальные WebHeaderCollection экземпляры принимают объект любой value длины.
  • В .NET 5 и более поздних версиях: WebHeaderCollection принимает объект любой value длины.

Применяется к

Set(String, String)

Исходный код:
WebHeaderCollection.cs
Исходный код:
WebHeaderCollection.cs
Исходный код:
WebHeaderCollection.cs

Устанавливает заданный заголовок в указанное значение.

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)

Параметры

name
String

Задаваемый заголовок.

value
String

Содержимое задаваемого заголовка.

Исключения

name имеет значение null или Empty.

Только .NET Framework и .NET Core версий 2.0–3.1: длина value превышает 65 535 символов.

name — это ограниченный заголовок.

-или-

name или value содержат недопустимые символы.

Примеры

В следующем примере метод используется Set для задания значения существующего заголовка.

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

Примечание

Длина value проверяется только в .NET Framework и .NET Core версий 2.0–3.1.

  • Во всех применимых версиях .NET Framework: WebHeaderCollection экземпляр, возвращаемый свойством Headers , вызовет исключение , ArgumentOutOfRangeException если длина value больше 65535. Все остальные WebHeaderCollection экземпляры принимают объект любой value длины.
  • В версиях .NET Core до версии 3.1: экземпляр, используемый WebHeaderCollection с любым заголовком типа HttpResponseHeader , вызывает исключение , ArgumentOutOfRangeException если длина value превышает 65535. Все остальные WebHeaderCollection экземпляры принимают объект любой value длины.
  • В .NET 5 и более поздних версиях: WebHeaderCollection принимает объект любой value длины.

Комментарии

Если заголовок, указанный в заголовке, не существует, Set метод вставляет новый заголовок в список пар имя-значение заголовка.

Если заголовок, указанный в , header уже присутствует, value заменяет существующее значение.

Применяется к