HttpWebRequest.SendChunked Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit une valeur qui indique s’il faut envoyer des données dans des segments à la ressource Internet.
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
Valeur de propriété
true
d’envoyer des données à la ressource Internet dans des segments ; sinon, false
. La valeur par défaut est false
.
Exceptions
La requête a été démarrée en appelant la méthode GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), GetResponse()ou BeginGetResponse(AsyncCallback, Object).
Exemples
L’exemple de code suivant définit la propriété SendChunked sur true
afin que les données puissent être envoyées dans des segments à la ressource Internet.
// 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()
Remarques
Prudence
WebRequest
, HttpWebRequest
, ServicePoint
et WebClient
sont obsolètes et vous ne devez pas les utiliser pour le nouveau développement. Utilisez HttpClient à la place.
Lorsque SendChunked est true
, la requête envoie des données à la ressource Internet dans les segments. La ressource Internet doit prendre en charge la réception de données segmentées.
La modification de la propriété SendChunked une fois la requête démarrée en appelant le GetRequestStream, BeginGetRequestStream, GetResponseou la méthode BeginGetResponse lève une InvalidOperationException.