HttpWebRequest.GetRequestStream HttpWebRequest.GetRequestStream HttpWebRequest.GetRequestStream HttpWebRequest.GetRequestStream Method

Definition

Ruft ein Stream-Objekt ab, das zum Schreiben von Anforderungsdaten verwendet werden soll.Gets a Stream object to use to write request data.

Überlädt

GetRequestStream() GetRequestStream() GetRequestStream() GetRequestStream()

Ruft ein Stream-Objekt ab, das zum Schreiben von Anforderungsdaten verwendet werden soll.Gets a Stream object to use to write request data.

GetRequestStream(TransportContext) GetRequestStream(TransportContext) GetRequestStream(TransportContext) GetRequestStream(TransportContext)

Ruft ein Stream-Objekt ab, das zum Schreiben von Anforderungsdaten verwendet wird und das dem Datenstrom zugeordnete TransportContext ausgibt.Gets a Stream object to use to write request data and outputs the TransportContext associated with the stream.

GetRequestStream() GetRequestStream() GetRequestStream() GetRequestStream()

Ruft ein Stream-Objekt ab, das zum Schreiben von Anforderungsdaten verwendet werden soll.Gets a Stream object to use to write request data.

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

Gibt zurück

Ein Stream, der zum Schreiben von Anforderungsdaten verwendet werden soll.A Stream to use to write request data.

Ausnahmen

Die Method-Eigenschaft ist GET oder HEAD.The Method property is GET or HEAD.

- oder --or- KeepAlive ist true, AllowWriteStreamBuffering ist false, ContentLength ist -1, SendChunked ist false, und Method ist POST oder PUT.KeepAlive is true, AllowWriteStreamBuffering is false, ContentLength is -1, SendChunked is false, and Method is POST or PUT.

Die GetRequestStream()-Methode wird mehrfach aufgerufen.The GetRequestStream() method is called more than once.

- oder --or- TransferEncoding ist auf einen Wert festgelegt, und SendChunked ist false.TransferEncoding is set to a value and SendChunked is false.

Die Cachebestätigung der Anforderung hat angegeben, dass die Antwort für diese Anforderung vom Cache bereitgestellt werden kann. Anforderungen, die Daten schreiben, dürfen jedoch den Cache nicht verwenden.The request cache validator indicated that the response for this request can be served from the cache; however, requests that write data must not use the cache. Diese Ausnahme kann auftreten, wenn Sie eine benutzerdefinierte Cachebestätigung verwenden, die nicht ordnungsgemäß implementiert wurde.This exception can occur if you are using a custom cache validator that is incorrectly implemented.

Abort() wurde bereits aufgerufen.Abort() was previously called.

- oder --or- Das Timeout für die Anforderung ist abgelaufen.The time-out period for the request expired.

- oder --or- Fehler beim Verarbeiten der Anforderung.An error occurred while processing the request.

In einer .NET Compact Framework-Anwendung wurde ein Anforderungsstream, dessen Inhalt die Länge 0 (null) hat, nicht korrekt abgerufen und geschlossen.In a .NET Compact Framework application, a request stream with zero content length was not obtained and closed correctly. Weitere Informationen über das Verarbeiten von Anforderungen mit einem Inhalt der Länge 0 (null) finden Sie unter Network Programming in the .NET Compact Framework (Netzwerkprogrammierung in .NET Compact Framework.).For more information about handling zero content length requests, see Network Programming in the .NET Compact Framework.

Beispiele

Im folgenden Codebeispiel wird die GetRequestStream Methode, um eine Stream-Instanz zurückzugeben.The following code example uses the GetRequestStream method to return a stream instance.

// 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()

Hinweise

Die GetRequestStream Methode gibt einen Stream zu verwenden, um das Senden von Daten für die HttpWebRequest.The GetRequestStream method returns a stream to use to send data for the HttpWebRequest. Nach der Stream Objekt zurückgegeben wurde, können Sie Daten mit Senden der HttpWebRequest mithilfe der Stream.Write Methode.After the Stream object has been returned, you can send data with the HttpWebRequest by using the Stream.Write method.

Wenn eine Anwendung zum Festlegen des Werts, der muss die ContentLength -Eigenschaft, und dies muss vor dem Abrufen des Streams ausgeführt werden.If an application needs to set the value of the ContentLength property, then this must be done before retrieving the stream.

Rufen Sie die Stream.Close Methode, um den Stream zu schließen und die Verbindung für die Wiederverwendung freizugeben.You must call the Stream.Close method to close the stream and release the connection for reuse. Fehler beim Schließen des Streams bewirkt, dass Ihre Anwendung nicht mehr genügend Verbindungen.Failure to close the stream causes your application to run out of connections.

Hinweis

Synchrone und asynchrone Methoden für eine bestimmte Anforderung kann nicht Ihrer Anwendung vermischt werden.Your application cannot mix synchronous and asynchronous methods for a particular request. Aufrufen der GetRequestStream -Methode müssen Sie verwenden die GetResponse Methode zum Abrufen der Antwort.If you call the GetRequestStream method, you must use the GetResponse method to retrieve the response.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren.This member outputs trace information when you enable network tracing in your application. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.For more information, see Network Tracing in the .NET Framework.

Siehe auch

GetRequestStream(TransportContext) GetRequestStream(TransportContext) GetRequestStream(TransportContext) GetRequestStream(TransportContext)

Ruft ein Stream-Objekt ab, das zum Schreiben von Anforderungsdaten verwendet wird und das dem Datenstrom zugeordnete TransportContext ausgibt.Gets a Stream object to use to write request data and outputs the TransportContext associated with the stream.

public:
 System::IO::Stream ^ GetRequestStream([Runtime::InteropServices::Out] System::Net::TransportContext ^ % context);
public System.IO.Stream GetRequestStream (out System.Net.TransportContext context);
override this.GetRequestStream :  -> System.IO.Stream
Public Function GetRequestStream (ByRef context As TransportContext) As Stream

Parameter

Gibt zurück

Ein Stream, der zum Schreiben von Anforderungsdaten verwendet werden soll.A Stream to use to write request data.

Ausnahmen

Die GetRequestStream()-Methode konnte den Stream nicht abrufen.The GetRequestStream() method was unable to obtain the Stream.

Die GetRequestStream()-Methode wird mehrfach aufgerufen.The GetRequestStream() method is called more than once.

- oder --or- TransferEncoding ist auf einen Wert festgelegt, und SendChunked ist false.TransferEncoding is set to a value and SendChunked is false.

Die Cachebestätigung der Anforderung hat angegeben, dass die Antwort für diese Anforderung vom Cache bereitgestellt werden kann. Anforderungen, die Daten schreiben, dürfen jedoch den Cache nicht verwenden.The request cache validator indicated that the response for this request can be served from the cache; however, requests that write data must not use the cache. Diese Ausnahme kann auftreten, wenn Sie eine benutzerdefinierte Cachebestätigung verwenden, die nicht ordnungsgemäß implementiert wurde.This exception can occur if you are using a custom cache validator that is incorrectly implemented.

Die Method-Eigenschaft ist GET oder HEAD.The Method property is GET or HEAD.

- oder --or- KeepAlive ist true, AllowWriteStreamBuffering ist false, ContentLength ist -1, SendChunked ist false, und Method ist POST oder PUT.KeepAlive is true, AllowWriteStreamBuffering is false, ContentLength is -1, SendChunked is false, and Method is POST or PUT.

Abort() wurde bereits aufgerufen.Abort() was previously called.

- oder --or- Das Timeout für die Anforderung ist abgelaufen.The time-out period for the request expired.

- oder --or- Fehler beim Verarbeiten der Anforderung.An error occurred while processing the request.

Hinweise

Die GetRequestStream Methode gibt einen Stream zu verwenden, um das Senden von Daten für die HttpWebRequest und gibt die TransportContext dem Stream zugewiesen sind.The GetRequestStream method returns a stream to use to send data for the HttpWebRequest and outputs the TransportContext associated with the stream. Nach der Stream Objekt zurückgegeben wurde, können Sie Daten mit Senden der HttpWebRequest mithilfe der Stream.Write Methode.After the Stream object has been returned, you can send data with the HttpWebRequest by using the Stream.Write method.

Einige Anwendungen, die integrierte Windows-Authentifizierung mit erweitertem Schutz verwendet die Transportschicht von verwendeten Abfragen können müssen möglicherweise HttpWebRequest um das Channelbindungstoken (CBT) aus den zugrunde liegenden TLS-Kanal abzurufen.Some applications that use integrated Windows authentication with extended protection may need to be able to query the transport layer used by HttpWebRequest in order to retrieve the channel binding token (CBT) from the underlying TLS channel. Die GetRequestStream -Methode bietet Zugriff auf diese Informationen für HTTP-Methoden, die einen Anforderungstext enthalten (POST und PUT Anforderungen).The GetRequestStream method provides access to this information for HTTP methods which have a request body (POST and PUT requests). Dies ist nur erforderlich, wenn die Anwendung, eine eigene Authentifizierung implementiert wird und Zugriff auf das CBT benötigt.This is only needed if the application is implementing its own authentication and needs access to the CBT.

Wenn eine Anwendung zum Festlegen des Werts, der muss die ContentLength -Eigenschaft, und dies muss vor dem Abrufen des Streams ausgeführt werden.If an application needs to set the value of the ContentLength property, then this must be done before retrieving the stream.

Rufen Sie die Stream.Close Methode, um den Stream zu schließen und die Verbindung für die Wiederverwendung freizugeben.You must call the Stream.Close method to close the stream and release the connection for reuse. Fehler beim Schließen des Streams bewirkt, dass Ihre Anwendung nicht mehr genügend Verbindungen.Failure to close the stream causes your application to run out of connections.

Hinweis

Synchrone und asynchrone Methoden für eine bestimmte Anforderung kann nicht Ihrer Anwendung vermischt werden.Your application cannot mix synchronous and asynchronous methods for a particular request. Aufrufen der GetRequestStream -Methode müssen Sie verwenden die GetResponse Methode zum Abrufen der Antwort.If you call the GetRequestStream method, you must use the GetResponse method to retrieve the response.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren.This member outputs trace information when you enable network tracing in your application. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.For more information, see Network Tracing in the .NET Framework.

Siehe auch

Gilt für: