WebHeaderCollection.Add Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вставляет новый заголовок в коллекцию.
Перегрузки
| Имя | Описание |
|---|---|
| Add(String) |
Вставляет указанный заголовок в коллекцию. |
| Add(HttpRequestHeader, String) |
Вставляет указанный заголовок с указанным значением в коллекцию. |
| Add(HttpResponseHeader, String) |
Вставляет указанный заголовок с указанным значением в коллекцию. |
| Add(String, String) |
Вставляет заголовок с указанным именем и значением в коллекцию. |
Add(String)
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
Вставляет указанный заголовок в коллекцию.
public:
void Add(System::String ^ header);
public void Add(string header);
override this.Add : string -> unit
Public Sub Add (header As String)
Параметры
- header
- String
Заголовок, добавляемый, с именем и значением, разделенным двоеточием.
Исключения
header is null или Empty.
header не содержит двоеточие (:) символа.
–или–
Длина части header значения превышает 65535.
–или–
Часть header имени содержит Empty недопустимые символы.
–или–
header — это ограниченный заголовок, который должен быть задан свойством.
–или–
Часть header значения содержит недопустимые символы.
.NET Framework и .NET Core версии 2.0 – 3.1: длина строки после двоеточия (:) больше 65535.
Примеры
В следующем примере в метод добавляется WebHeaderCollectionAdd пара name/value.
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;
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 = (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 :" + 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
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" + ChrW(61) + "0.8")
'Get the associated response for the above request.
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
'Print the headers for the request.
printHeaders(myWebHeaderCollection)
myHttpWebResponse.Close()
'Catch exception if trying to add 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
Замечание
Длина части headerзначения , то есть строка после двоеточия (:), проверяется только в .NET Framework и .NET Core версии 2.0 – 3.1.
- Во всех применимых версиях .NET Framework: экземпляр, возвращаемый Headers свойством, WebHeaderCollection создает ArgumentOutOfRangeException исключение, если длина части
headerзначения превышает 65535. Все остальные WebHeaderCollection экземпляры принимают значение любой длины. - В версиях .NET Core до версии 3.1: WebHeaderCollection экземпляр, используемый с любым заголовком типаHttpResponseHeader, создает ArgumentOutOfRangeException исключение, если длина части
headerзначения превышает 65535. Все остальные WebHeaderCollection экземпляры принимают значение любой длины. - В .NET 5 и более поздних версиях: WebHeaderCollection принимает значение любой длины.
Комментарии
Параметр header должен быть указан в формате "name:value". Если указанный заголовок не существует в коллекции, в коллекцию добавляется новый заголовок.
Если заголовок, указанный в header коллекции, уже присутствует в коллекции, то часть header значения объединяется с существующим значением.
Применяется к
Add(HttpRequestHeader, String)
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
Вставляет указанный заголовок с указанным значением в коллекцию.
public:
void Add(System::Net::HttpRequestHeader header, System::String ^ value);
public void Add(System.Net.HttpRequestHeader header, string? value);
public void Add(System.Net.HttpRequestHeader header, string value);
override this.Add : System.Net.HttpRequestHeader * string -> unit
Public Sub Add (header As HttpRequestHeader, value As String)
Параметры
- header
- HttpRequestHeader
Заголовок, добавляемый в коллекцию.
- value
- String
Содержимое заголовка.
Исключения
Только .NET Framework и .NET Core версии 2.0 – 3.1: длина value превышает 65535.
Этот WebHeaderCollection экземпляр не разрешает экземпляры HttpRequestHeader.
Комментарии
Если указанный заголовок не существует, Add метод вставляет новый заголовок в список пар "имя-значение".
Если указанный заголовок уже присутствует, добавляется в список значений, связанных с заголовком, value разделенным запятыми.
Замечание
Длина value проверяется только в .NET Framework и .NET Core версии 2.0 – 3.1.
- Во всех применимых версиях .NET Framework: экземпляр, возвращаемый Headers свойством, WebHeaderCollection вызывает ArgumentOutOfRangeException исключение, если длина
valueпревышает 65535. Все остальные WebHeaderCollection экземпляры принимаютvalueлюбую длину. - В версиях .NET Core до версии 3.1: WebHeaderCollection экземпляр, используемый с любым заголовком типа HttpResponseHeader , создает ArgumentOutOfRangeException исключение, если длина
valueпревышает 65535. Все остальные WebHeaderCollection экземпляры принимаютvalueлюбую длину. - В .NET 5 и более поздних версиях: WebHeaderCollection принимает любую длину
value.
Применяется к
Add(HttpResponseHeader, String)
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
Вставляет указанный заголовок с указанным значением в коллекцию.
public:
void Add(System::Net::HttpResponseHeader header, System::String ^ value);
public void Add(System.Net.HttpResponseHeader header, string? value);
public void Add(System.Net.HttpResponseHeader header, string value);
override this.Add : System.Net.HttpResponseHeader * string -> unit
Public Sub Add (header As HttpResponseHeader, value As String)
Параметры
- header
- HttpResponseHeader
Заголовок, добавляемый в коллекцию.
- value
- String
Содержимое заголовка.
Исключения
Только .NET Framework и .NET Core версии 2.0 – 3.1: длина value превышает 65535.
Этот WebHeaderCollection экземпляр не разрешает экземпляры HttpResponseHeader.
Комментарии
Если указанный заголовок не существует, Add метод вставляет новый заголовок в список пар "имя-значение".
Если указанный заголовок уже присутствует, добавляется в список значений, связанных с заголовком, value разделенным запятыми.
Замечание
Длина value проверяется только в .NET Framework и .NET Core версии 2.0 – 3.1.
- Во всех применимых версиях .NET Framework: экземпляр, возвращаемый Headers свойством, WebHeaderCollection вызывает ArgumentOutOfRangeException исключение, если длина
valueпревышает 65535. Все остальные WebHeaderCollection экземпляры принимаютvalueлюбую длину. - В версиях .NET Core до версии 3.1: WebHeaderCollection экземпляр, используемый с любым заголовком типа HttpResponseHeader , создает ArgumentOutOfRangeException исключение, если длина
valueпревышает 65535. Все остальные WebHeaderCollection экземпляры принимаютvalueлюбую длину. - В .NET 5 и более поздних версиях: WebHeaderCollection принимает любую длину
value.
Применяется к
Add(String, String)
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
- Исходный код:
- WebHeaderCollection.cs
Вставляет заголовок с указанным именем и значением в коллекцию.
public:
override void Add(System::String ^ name, System::String ^ value);
public override void Add(string name, string? value);
public override void Add(string name, string value);
override this.Add : string * string -> unit
Public Overrides Sub Add (name As String, value As String)
Параметры
- name
- String
Заголовок, добавляемый в коллекцию.
- value
- String
Содержимое заголовка.
Исключения
name имеет nullзначение , Emptyили содержит недопустимые символы.
–или–
name — это ограниченный заголовок, который должен быть задан с параметром свойства.
–или–
value содержит недопустимые символы.
Только .NET Framework и .NET Core версии 2.0 – 3.1: длина value превышает 65535.
Примеры
В следующем примере в метод добавляется WebHeaderCollectionAdd пара name/value.
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;
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 = (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 :" + 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
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" + ChrW(61) + "0.8")
'Get the associated response for the above request.
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
'Print the headers for the request.
printHeaders(myWebHeaderCollection)
myHttpWebResponse.Close()
'Catch exception if trying to add 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: экземпляр, возвращаемый Headers свойством, WebHeaderCollection вызывает ArgumentOutOfRangeException исключение, если длина
valueпревышает 65535. Все остальные WebHeaderCollection экземпляры принимаютvalueлюбую длину. - В версиях .NET Core до версии 3.1: WebHeaderCollection экземпляр, используемый с любым заголовком типа HttpResponseHeader , создает ArgumentOutOfRangeException исключение, если длина
valueпревышает 65535. Все остальные WebHeaderCollection экземпляры принимаютvalueлюбую длину. - В .NET 5 и более поздних версиях: WebHeaderCollection принимает любую длину
value.
Комментарии
Если заголовок, указанный в name не существует, Add метод вставляет новый заголовок в список пар "имя-значение заголовка".
Если заголовок name уже присутствует, value добавляется в существующий список значений, связанных с nameзапятыми.