HttpWebRequest.GetRequestStream Methode

Definitie

Hiermee haalt u een Stream object op dat moet worden gebruikt om aanvraaggegevens te schrijven.

Overloads

Name Description
GetRequestStream()

Hiermee haalt u een Stream object op dat moet worden gebruikt om aanvraaggegevens te schrijven.

GetRequestStream(TransportContext)

Hiermee haalt u een Stream object op dat moet worden gebruikt voor het schrijven van aanvraaggegevens en wordt de TransportContext uitvoer uitgevoerd die aan de stream is gekoppeld.

GetRequestStream()

Hiermee haalt u een Stream object op dat moet worden gebruikt om aanvraaggegevens te schrijven.

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

Retouren

A Stream voor het schrijven van aanvraaggegevens.

Uitzonderingen

De Method eigenschap is GET of HEAD.

– of –

KeepAliveis , AllowWriteStreamBuffering is falsetrue, ContentLength is - 1, SendChunked is falseen Method is POST of PUT.

De GetRequestStream() methode wordt meerdere keren aangeroepen.

– of –

TransferEncoding is ingesteld op een waarde en SendChunked is false.

De validator voor de aanvraagcache geeft aan dat het antwoord voor deze aanvraag kan worden verwerkt vanuit de cache; aanvragen die gegevens schrijven, mogen echter niet gebruikmaken van de cache. Deze uitzondering kan optreden als u een aangepaste cachevalidator gebruikt die onjuist is geïmplementeerd.

Abort() werd eerder gebeld.

– of –

De time-outperiode voor de aanvraag is verlopen.

– of –

Er is een fout opgetreden tijdens het verwerken van de aanvraag.

In een .NET Compact Framework-toepassing is een aanvraagstroom met lengte nul inhoud niet verkregen en correct gesloten. Zie Network Programming in the .NET Compact Framework voor meer informatie over het verwerken van aanvragen met lengten van inhoud.

Voorbeelden

In het volgende codevoorbeeld wordt de GetRequestStream methode gebruikt om een streamexemplaren te retourneren.

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

Opmerkingen

Caution

WebRequest, HttpWebRequest, ServicePointen WebClient zijn verouderd en u moet ze niet gebruiken voor nieuwe ontwikkeling. Gebruik in plaats daarvan HttpClient.

De GetRequestStream methode retourneert een stroom die moet worden gebruikt voor het verzenden van gegevens voor de HttpWebRequest. Nadat het Stream object is geretourneerd, kunt u gegevens verzenden met de HttpWebRequest methode Stream.Write .

Als een toepassing de waarde van de ContentLength eigenschap moet instellen, moet u dit doen voordat u de stream opzoekt.

U moet de Stream.Close methode aanroepen om de stream te sluiten en de verbinding vrij te geven voor hergebruik. Als de stream niet kan worden gesloten, kan uw toepassing geen verbindingen meer hebben.

Note

Uw toepassing kan geen synchrone en asynchrone methoden combineren voor een bepaalde aanvraag. Als u de GetRequestStream methode aanroept, moet u de GetResponse methode gebruiken om het antwoord op te halen.

Note

Dit lid voert traceringsgegevens uit wanneer u netwerktracering inschakelt in uw toepassing. Zie Network Tracing in the .NET Framework voor meer informatie.

Zie ook

Van toepassing op

GetRequestStream(TransportContext)

Hiermee haalt u een Stream object op dat moet worden gebruikt voor het schrijven van aanvraaggegevens en wordt de TransportContext uitvoer uitgevoerd die aan de stream is gekoppeld.

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 : TransportContext -> System.IO.Stream
Public Function GetRequestStream (ByRef context As TransportContext) As Stream

Parameters

Retouren

A Stream voor het schrijven van aanvraaggegevens.

Uitzonderingen

De GetRequestStream() methode kan de Stream.

De GetRequestStream() methode wordt meerdere keren aangeroepen.

– of –

TransferEncoding is ingesteld op een waarde en SendChunked is false.

De validator voor de aanvraagcache geeft aan dat het antwoord voor deze aanvraag kan worden verwerkt vanuit de cache; aanvragen die gegevens schrijven, mogen echter niet gebruikmaken van de cache. Deze uitzondering kan optreden als u een aangepaste cachevalidator gebruikt die onjuist is geïmplementeerd.

De Method eigenschap is GET of HEAD.

– of –

KeepAliveis , AllowWriteStreamBuffering is falsetrue, ContentLength is - 1, SendChunked is falseen Method is POST of PUT.

Abort() werd eerder gebeld.

– of –

De time-outperiode voor de aanvraag is verlopen.

– of –

Er is een fout opgetreden tijdens het verwerken van de aanvraag.

Opmerkingen

Caution

WebRequest, HttpWebRequest, ServicePointen WebClient zijn verouderd en u moet ze niet gebruiken voor nieuwe ontwikkeling. Gebruik in plaats daarvan HttpClient.

De GetRequestStream methode retourneert een stream die moet worden gebruikt voor het verzenden van gegevens voor de HttpWebRequest stroom en voert de uitvoer uit die TransportContext aan de stream is gekoppeld. Nadat het Stream object is geretourneerd, kunt u gegevens verzenden met de HttpWebRequest methode Stream.Write .

Sommige toepassingen die gebruikmaken van geïntegreerde Windows authentication met uitgebreide beveiliging, moeten mogelijk een query kunnen uitvoeren op de transportlaag die wordt gebruikt door HttpWebRequest om het token voor kanaalbinding (CBT) op te halen uit het onderliggende TLS-kanaal. De GetRequestStream methode biedt toegang tot deze informatie voor HTTP-methoden met een aanvraagbody (POST en PUT aanvragen). Dit is alleen nodig als de toepassing zijn eigen verificatie implementeert en toegang nodig heeft tot de CBT.

Als een toepassing de waarde van de ContentLength eigenschap moet instellen, moet u dit doen voordat u de stream opzoekt.

U moet de Stream.Close methode aanroepen om de stream te sluiten en de verbinding vrij te geven voor hergebruik. Als de stream niet kan worden gesloten, kan uw toepassing geen verbindingen meer hebben.

Note

Uw toepassing kan geen synchrone en asynchrone methoden combineren voor een bepaalde aanvraag. Als u de GetRequestStream methode aanroept, moet u de GetResponse methode gebruiken om het antwoord op te halen.

Note

Dit lid voert traceringsgegevens uit wanneer u netwerktracering inschakelt in uw toepassing. Zie Network Tracing in the .NET Framework voor meer informatie.

Zie ook

Van toepassing op