HttpWebRequest.SendChunked Propiedad

Definición

Obtiene o establece un valor que indica si se deben enviar los datos en segmentos al recurso de Internet.Gets or sets a value that indicates whether to send data in segments to the Internet resource.

public:
 property bool SendChunked { bool get(); void set(bool value); };
public bool SendChunked { get; set; }
member this.SendChunked : bool with get, set
Public Property SendChunked As Boolean

Valor de propiedad

Es true para que los datos se envíen en segmentos al recurso de Internet; de lo contrario, es false.true to send data to the Internet resource in segments; otherwise, false. El valor predeterminado es false.The default value is false.

Excepciones

Ejemplos

En el ejemplo de código siguiente se establece la propiedad SendChunked en true para que los datos se puedan enviar en segmentos al recurso de Internet.The following code example sets the SendChunked property to true so that data can be sent in segments to the Internet resource.

// 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 = String::Concat( "testdata= ", inputData );
// 'Method' property of 'HttpWebRequest' class is set to POST.
myHttpWebRequest->Method = "POST";
ASCIIEncoding^ encodedData = gcnew ASCIIEncoding;
array<Byte>^ byteArray = encodedData->GetBytes( postData );
// 'ContentType' property of the 'HttpWebRequest' class is set to S"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 = gcnew StreamReader( streamResponse );
array<Char>^ readBuff = gcnew array<Char>(256);
int count = streamRead->Read( readBuff, 0, 256 );
Console::WriteLine( "\nThe contents of the HTML page are :  " );
while ( count > 0 )
{
   String^ outputData = gcnew String( readBuff,0,count );
   Console::WriteLine( outputData );
   count = streamRead->Read( readBuff, 0, 256 );
}
streamRead->Close();
streamResponse->Close();
myHttpWebResponse->Close();
// 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(); 
' A new 'HttpWebRequest' object is created.
Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create(myUri), HttpWebRequest)
myHttpWebRequest.SendChunked = True
' 'TransferEncoding' property is set to 'gzip'.
myHttpWebRequest.TransferEncoding = "gzip"
Console.WriteLine(ControlChars.Cr + "Please Enter the data to be posted to the (http://" + ChrW(60) + "machine name" + ChrW(62) + "/CodeSnippetTest.asp) uri:")
Dim inputData As String = Console.ReadLine()
Dim postData As String = "testdata" + ChrW(61) + inputData
' 'Method' property of 'HttpWebRequest' class is set to POST.
myHttpWebRequest.Method = "POST"
Dim encodedData As New ASCIIEncoding()
Dim byteArray As Byte() = 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
Dim newStream As Stream = myHttpWebRequest.GetRequestStream()
newStream.Write(byteArray, 0, byteArray.Length)
newStream.Close()
Console.WriteLine(ControlChars.Cr + "Data has been posted to the Uri" + ControlChars.Cr + ControlChars.Cr + "Please wait for the response..........")
' The response object of 'HttpWebRequest' is assigned to a 'HttpWebResponse' variable.
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
' Displaying the contents of the page to the console
Dim streamResponse As Stream = myHttpWebResponse.GetResponseStream()
Dim streamRead As New StreamReader(streamResponse)
Dim readBuff(256) As [Char]
Dim count As Integer = streamRead.Read(readBuff, 0, 256)
Console.WriteLine(ControlChars.Cr + "The contents of the HTML page are :  ")
While count > 0
    Dim outputData As New [String](readBuff, 0, count)
    Console.WriteLine(outputData)
    count = streamRead.Read(readBuff, 0, 256)
End While
' Release the response object resources.  
streamRead.Close()
streamResponse.Close()
myHttpWebResponse.Close()

Comentarios

Cuando se trueSendChunked, la solicitud envía datos al recurso de Internet en segmentos.When SendChunked is true, the request sends data to the Internet resource in segments. El recurso de Internet debe admitir la recepción de datos fragmentados.The Internet resource must support receiving chunked data.

Al cambiar la propiedad SendChunked una vez iniciada la solicitud llamando al método GetRequestStream, BeginGetRequestStream, GetResponseo BeginGetResponse, se produce una InvalidOperationException.Changing the SendChunked property after the request has been started by calling the GetRequestStream, BeginGetRequestStream, GetResponse, or BeginGetResponse method throws an InvalidOperationException.

Se aplica a