HttpWebRequest.SendChunked Свойство

Определение

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

public bool SendChunked { get; set; }

Значение свойства

true отправлять данные в интернет-ресурс в сегментах; в противном случае false. Значение по умолчанию — false.

Исключения

Примеры

В следующем примере кода свойство SendChunkedtrue, чтобы данные могли отправляться в сегменты в интернет-ресурс.

// A new 'HttpWebRequest' object is created.
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(myUri);
myHttpWebRequest.SendChunked = true;
// 'TransferEncoding' property is set to 'gzip'.
myHttpWebRequest.TransferEncoding = "gzip";
Console.WriteLine("\nPlease Enter the data to be posted to the (http://<machine name>/CodeSnippetTest.asp) uri:");

string inputData = Console.ReadLine();
string postData = "testdata=" + inputData;
// 'Method' property of 'HttpWebRequest' class is set to POST.
myHttpWebRequest.Method = "POST";
ASCIIEncoding encodedData = new ASCIIEncoding();
byte[]  byteArray = encodedData.GetBytes(postData);
// 'ContentType' property of the 'HttpWebRequest' class is set to "application/x-www-form-urlencoded".
myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
// 'ContentLength' property is set to Length of the data to be posted.
myHttpWebRequest.ContentLength = byteArray.Length;
Stream newStream = myHttpWebRequest.GetRequestStream();
newStream.Write(byteArray, 0, byteArray.Length);
newStream.Close();
Console.WriteLine("\nData has been posted to the Uri\n\nPlease wait for the response..........");

// The response object of 'HttpWebRequest' is assigned to a 'HttpWebResponse' variable.
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
// Displaying the contents of the page to the console
Stream streamResponse = myHttpWebResponse.GetResponseStream();
StreamReader streamRead = new StreamReader(streamResponse);
Char[] readBuff = new Char[256];
int count = streamRead.Read(readBuff, 0, 256);
Console.WriteLine("\nThe contents of the HTML page are :  ");

while (count > 0)
{
   String outputData = new String(readBuff, 0, count);
   Console.WriteLine(outputData);
   count = streamRead.Read(readBuff, 0, 256);
}
// Release the response object resources.
streamRead.Close();
streamResponse.Close();
myHttpWebResponse.Close();

Комментарии

Назар аударыңыз!

WebRequest, HttpWebRequest, ServicePointи WebClient устарели, и их не следует использовать для новой разработки. Вместо этого используйте HttpClient.

Если SendChunkedtrue, запрос отправляет данные в ресурс Интернета в сегментах. Интернет-ресурс должен поддерживать получение фрагментированных данных.

Изменение свойства SendChunked после запуска запроса путем вызова метода GetRequestStream, BeginGetRequestStream, GetResponseили BeginGetResponse вызывает InvalidOperationException.

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

Өнім Нұсқалар
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1