HttpWebRequest.ContentLength Propriedade
Definição
Obtém ou define o cabeçalho HTTP Content-length.Gets or sets the Content-length HTTP header.
public:
virtual property long ContentLength { long get(); void set(long value); };
public override long ContentLength { get; set; }
member this.ContentLength : int64 with get, set
Public Overrides Property ContentLength As Long
Valor da propriedade
O número de bytes de dados a serem enviados ao recurso de Internet.The number of bytes of data to send to the Internet resource. O padrão é -1, que indica que a propriedade não foi definida e que não há dados de solicitação para enviar.The default is -1, which indicates the property has not been set and that there is no request data to send.
Exceções
A solicitação foi iniciada chamando o método GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), GetResponse() ou BeginGetResponse(AsyncCallback, Object).The request has been started by calling the GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), GetResponse(), or BeginGetResponse(AsyncCallback, Object) method.
O novo valor ContentLength é menor que 0.The new ContentLength value is less than 0.
Exemplos
O exemplo de código a seguir define a ContentLength propriedade como o comprimento da cadeia de caracteres que está sendo postada.The following code example sets the ContentLength property to the length of the string being posted.
// Set the 'Method' property of the 'Webrequest' to 'POST'.
myHttpWebRequest->Method = "POST";
Console::WriteLine( "\nPlease enter the data to be posted to the (http://www.contoso.com/codesnippets/next.asp) Uri :" );
// Create a new String* Object* to POST data to the Url.
String^ inputData = Console::ReadLine();
String^ postData = String::Concat( "firstone= ", inputData );
ASCIIEncoding^ encoding = gcnew ASCIIEncoding;
array<Byte>^ byte1 = encoding->GetBytes( postData );
// Set the content type of the data being posted.
myHttpWebRequest->ContentType = "application/x-www-form-urlencoded";
// Set the content length of the String* being posted.
myHttpWebRequest->ContentLength = byte1->Length;
Stream^ newStream = myHttpWebRequest->GetRequestStream();
newStream->Write( byte1, 0, byte1->Length );
Console::WriteLine( "The value of 'ContentLength' property after sending the data is {0}", myHttpWebRequest->ContentLength );
// Close the Stream Object*.
newStream->Close();
// Set the 'Method' property of the 'Webrequest' to 'POST'.
myHttpWebRequest.Method = "POST";
Console.WriteLine ("\nPlease enter the data to be posted to the (http://www.contoso.com/codesnippets/next.asp) Uri :");
// Create a new string object to POST data to the Url.
string inputData = Console.ReadLine ();
string postData = "firstone=" + inputData;
ASCIIEncoding encoding = new ASCIIEncoding ();
byte[] byte1 = encoding.GetBytes (postData);
// Set the content type of the data being posted.
myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
// Set the content length of the string being posted.
myHttpWebRequest.ContentLength = byte1.Length;
Stream newStream = myHttpWebRequest.GetRequestStream ();
newStream.Write (byte1, 0, byte1.Length);
Console.WriteLine ("The value of 'ContentLength' property after sending the data is {0}", myHttpWebRequest.ContentLength);
// Close the Stream object.
newStream.Close ();
' Set the 'Method' property of the 'Webrequest' to 'POST'.
myHttpWebRequest.Method = "POST"
Console.WriteLine(ControlChars.Cr + "Please enter the data to be posted to the (http://www.contoso.com/codesnippets/next.asp) Uri :")
' Create a new string object to POST data to the Url.
Dim inputData As String = Console.ReadLine()
Dim postData As String = "firstone" + ChrW(61) + inputData
Dim encoding As New ASCIIEncoding()
Dim byte1 As Byte() = encoding.GetBytes(postData)
' Set the content type of the data being posted.
myHttpWebRequest.ContentType = "application/x-www-form-urlencoded"
' Set the content length of the string being posted.
myHttpWebRequest.ContentLength = byte1.Length
Dim newStream As Stream = myHttpWebRequest.GetRequestStream()
newStream.Write(byte1, 0, byte1.Length)
Console.WriteLine("The value of 'ContentLength' property after sending the data is {0}", myHttpWebRequest.ContentLength)
newStream.Close()
Comentários
A ContentLength propriedade contém o valor a ser enviado como o Content-length cabeçalho HTTP com a solicitação.The ContentLength property contains the value to send as the Content-length HTTP header with the request.
Qualquer valor diferente de-1 na ContentLength propriedade indica que a solicitação carrega dados e que somente os métodos que carregam dados podem ser definidos na Method propriedade.Any value other than -1 in the ContentLength property indicates that the request uploads data and that only methods that upload data are allowed to be set in the Method property.
Depois ContentLength que a propriedade é definida como um valor, esse número de bytes deve ser gravado no fluxo de solicitação que é retornado chamando o GetRequestStream método ou ambos os BeginGetRequestStream EndGetRequestStream métodos.After the ContentLength property is set to a value, that number of bytes must be written to the request stream that is returned by calling the GetRequestStream method or both the BeginGetRequestStream and the EndGetRequestStream methods.
Observação
O valor dessa propriedade é armazenado em WebHeaderCollection.The value for this property is stored in WebHeaderCollection. Se WebHeaderCollection for definido, o valor da propriedade será perdido.If WebHeaderCollection is set, the property value is lost.