HttpWebRequest.GetRequestStream Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene un Stream objeto que se va a usar para escribir datos de solicitud.
Sobrecargas
| Nombre | Description |
|---|---|
| GetRequestStream() |
Obtiene un Stream objeto que se va a usar para escribir datos de solicitud. |
| GetRequestStream(TransportContext) |
Obtiene un Stream objeto que se va a usar para escribir datos de solicitud y genera el TransportContext asociado a la secuencia. |
GetRequestStream()
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
Obtiene un Stream objeto que se va a usar para escribir datos de solicitud.
public:
override System::IO::Stream ^ GetRequestStream();
public override System.IO.Stream GetRequestStream();
override this.GetRequestStream : unit -> System.IO.Stream
Public Overrides Function GetRequestStream () As Stream
Devoluciones
Stream que se va a usar para escribir datos de solicitud.
Excepciones
La Method propiedad es GET o HEAD.
-o-
KeepAlivees , es true, ContentLengthAllowWriteStreamBuffering es false-1, SendChunked es falsey Method es POST o PUT.
Se GetRequestStream() llama al método más de una vez.
-o-
TransferEncoding se establece en un valor y SendChunked es false.
El validador de caché de solicitudes indicó que la respuesta de esta solicitud se puede atender desde la memoria caché; sin embargo, las solicitudes que escriben datos no deben usar la memoria caché. Esta excepción puede producirse si usa un validador de caché personalizado que se implementa incorrectamente.
Abort() se llamó anteriormente.
-o-
El período de tiempo de espera de la solicitud expiró.
-o-
Error al procesar la solicitud.
En una aplicación de .NET Compact Framework, un flujo de solicitud con longitud de contenido cero no se obtuvo y cerró correctamente. Para obtener más información sobre el control de solicitudes de longitud de contenido cero, vea Programación de redes en .NET Compact Framework.
Ejemplos
En el ejemplo de código siguiente se usa el GetRequestStream método para devolver una instancia de flujo.
// 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()
Comentarios
Cautela
WebRequest, HttpWebRequest, ServicePointy WebClient están obsoletos y no debe usarlos para el nuevo desarrollo. Use HttpClient en su lugar.
El GetRequestStream método devuelve una secuencia que se va a usar para enviar datos para .HttpWebRequest Una vez devuelto el Stream objeto, puede enviar datos con HttpWebRequest mediante el Stream.Write método .
Si una aplicación necesita establecer el valor de la ContentLength propiedad , debe hacerse antes de recuperar la secuencia.
Debe llamar al Stream.Close método para cerrar la secuencia y liberar la conexión para su reutilización. Si no se cierra la secuencia, la aplicación se agota las conexiones.
Nota
La aplicación no puede mezclar métodos sincrónicos y asincrónicos para una solicitud determinada. Si llama al GetRequestStream método , debe usar el GetResponse método para recuperar la respuesta.
Nota
Este miembro genera información de seguimiento al habilitar el seguimiento de red en la aplicación. Para obtener más información, vea Seguimiento de red en .NET Framework.
Consulte también
Se aplica a
GetRequestStream(TransportContext)
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
Obtiene un Stream objeto que se va a usar para escribir datos de solicitud y genera el TransportContext asociado a la secuencia.
public:
System::IO::Stream ^ GetRequestStream([Runtime::InteropServices::Out] System::Net::TransportContext ^ % context);
public System.IO.Stream GetRequestStream(out System.Net.TransportContext? context);
public System.IO.Stream GetRequestStream(out System.Net.TransportContext context);
override this.GetRequestStream : TransportContext -> System.IO.Stream
Public Function GetRequestStream (ByRef context As TransportContext) As Stream
Parámetros
- context
- TransportContext
TransportContext para .Stream
Devoluciones
Stream que se va a usar para escribir datos de solicitud.
Excepciones
El GetRequestStream() método no pudo obtener .Stream
Se GetRequestStream() llama al método más de una vez.
-o-
TransferEncoding se establece en un valor y SendChunked es false.
El validador de caché de solicitudes indicó que la respuesta de esta solicitud se puede atender desde la memoria caché; sin embargo, las solicitudes que escriben datos no deben usar la memoria caché. Esta excepción puede producirse si usa un validador de caché personalizado que se implementa incorrectamente.
La Method propiedad es GET o HEAD.
-o-
KeepAlivees , es true, ContentLengthAllowWriteStreamBuffering es false-1, SendChunked es falsey Method es POST o PUT.
Abort() se llamó anteriormente.
-o-
El período de tiempo de espera de la solicitud expiró.
-o-
Error al procesar la solicitud.
Comentarios
Cautela
WebRequest, HttpWebRequest, ServicePointy WebClient están obsoletos y no debe usarlos para el nuevo desarrollo. Use HttpClient en su lugar.
El GetRequestStream método devuelve una secuencia que se va a usar para enviar datos de y HttpWebRequest genera el TransportContext asociado a la secuencia. Una vez devuelto el Stream objeto, puede enviar datos con HttpWebRequest mediante el Stream.Write método .
Es posible que algunas aplicaciones que usan la autenticación integrada de Windows con protección ampliada necesiten poder consultar la capa de transporte utilizada por HttpWebRequest para recuperar el token de enlace de canal (CBT) desde el canal TLS subyacente. El GetRequestStream método proporciona acceso a esta información para los métodos HTTP que tienen un cuerpo de solicitud (POST y PUT solicitudes). Esto solo es necesario si la aplicación implementa su propia autenticación y necesita acceso al CBT.
Si una aplicación necesita establecer el valor de la ContentLength propiedad , debe hacerse antes de recuperar la secuencia.
Debe llamar al Stream.Close método para cerrar la secuencia y liberar la conexión para su reutilización. Si no se cierra la secuencia, la aplicación se agota las conexiones.
Nota
La aplicación no puede mezclar métodos sincrónicos y asincrónicos para una solicitud determinada. Si llama al GetRequestStream método , debe usar el GetResponse método para recuperar la respuesta.
Nota
Este miembro genera información de seguimiento al habilitar el seguimiento de red en la aplicación. Para obtener más información, vea Seguimiento de red en .NET Framework.
Consulte también
- TransportContext
- GetChannelBinding(ChannelBindingKind)
- System.Security.Authentication.ExtendedProtection
- ChannelBinding
- Autenticación de Windows integrada con protección ampliada