HttpWebRequest.GetRequestStream Méthode
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 un Stream objet à utiliser pour écrire des données de requête.
Surcharges
| Nom | Description |
|---|---|
| GetRequestStream() |
Obtient un Stream objet à utiliser pour écrire des données de requête. |
| GetRequestStream(TransportContext) |
Obtient un Stream objet à utiliser pour écrire des données de requête et génère le TransportContext flux associé. |
GetRequestStream()
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
Obtient un Stream objet à utiliser pour écrire des données de requête.
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
Retours
À Stream utiliser pour écrire des données de demande.
Exceptions
La Method propriété est GET ou HEAD.
-ou-
KeepAlive est true, AllowWriteStreamBuffering est false, ContentLength est - 1, SendChunked est false, et Method est POST ou PUT.
La GetRequestStream() méthode est appelée plusieurs fois.
-ou-
TransferEncoding est défini sur une valeur et SendChunked est false.
Le validateur du cache de requête a indiqué que la réponse de cette demande peut être traitée à partir du cache ; toutefois, les demandes qui écrivent des données ne doivent pas utiliser le cache. Cette exception peut se produire si vous utilisez un validateur de cache personnalisé qui n’est pas implémenté correctement.
Abort() a été appelé précédemment.
-ou-
Délai d’expiration de la demande.
-ou-
Une erreur s’est produite lors du traitement de la demande.
Dans une application .NET Compact Framework, un flux de requête avec une longueur de contenu nulle n’a pas été obtenu et fermé correctement. Pour plus d’informations sur la gestion des demandes de longueur de contenu zéro, consultez Programmation réseau dans le .NET Compact Framework.
Exemples
L’exemple de code suivant utilise la GetRequestStream méthode pour retourner une instance de flux.
// 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()
Remarques
Prudence
WebRequest, , HttpWebRequestServicePointet sont obsolètes, et WebClient vous ne devez pas les utiliser pour le nouveau développement. Utilisez HttpClient à la place.
La GetRequestStream méthode retourne un flux à utiliser pour envoyer des données pour le HttpWebRequest. Une fois l’objet Stream retourné, vous pouvez envoyer des données à l’aide HttpWebRequest de la Stream.Write méthode.
Si une application doit définir la valeur de la ContentLength propriété, cette opération doit être effectuée avant de récupérer le flux.
Vous devez appeler la Stream.Close méthode pour fermer le flux et libérer la connexion à des fins de réutilisation. Si vous ne fermez pas le flux, votre application n’a plus de connexions.
Note
Votre application ne peut pas combiner de méthodes synchrones et asynchrones pour une requête particulière. Si vous appelez la GetRequestStream méthode, vous devez utiliser la GetResponse méthode pour récupérer la réponse.
Note
Ce membre génère des informations de suivi lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.
Voir aussi
S’applique à
GetRequestStream(TransportContext)
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
- Source:
- HttpWebRequest.cs
Obtient un Stream objet à utiliser pour écrire des données de requête et génère le TransportContext flux associé.
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
Paramètres
- context
- TransportContext
Pour TransportContext le Stream.
Retours
À Stream utiliser pour écrire des données de demande.
Exceptions
La GetRequestStream() méthode n’a pas pu obtenir le Stream.
La GetRequestStream() méthode est appelée plusieurs fois.
-ou-
TransferEncoding est défini sur une valeur et SendChunked est false.
Le validateur du cache de requête a indiqué que la réponse de cette demande peut être traitée à partir du cache ; toutefois, les demandes qui écrivent des données ne doivent pas utiliser le cache. Cette exception peut se produire si vous utilisez un validateur de cache personnalisé qui n’est pas implémenté correctement.
La Method propriété est GET ou HEAD.
-ou-
KeepAlive est true, AllowWriteStreamBuffering est false, ContentLength est - 1, SendChunked est false, et Method est POST ou PUT.
Abort() a été appelé précédemment.
-ou-
Délai d’expiration de la demande.
-ou-
Une erreur s’est produite lors du traitement de la demande.
Remarques
Prudence
WebRequest, , HttpWebRequestServicePointet sont obsolètes, et WebClient vous ne devez pas les utiliser pour le nouveau développement. Utilisez HttpClient à la place.
La GetRequestStream méthode retourne un flux à utiliser pour envoyer des données pour le HttpWebRequest flux et les sorties associées TransportContext au flux. Une fois l’objet Stream retourné, vous pouvez envoyer des données à l’aide HttpWebRequest de la Stream.Write méthode.
Certaines applications qui utilisent l’authentification Windows intégrée avec une protection étendue peuvent être en mesure d’interroger la couche de transport utilisée HttpWebRequest pour récupérer le jeton de liaison de canal (CBT) à partir du canal TLS sous-jacent. La GetRequestStream méthode fournit l’accès à ces informations pour les méthodes HTTP qui ont un corps de requête (POST et PUT des requêtes). Cela n’est nécessaire que si l’application implémente son propre authentification et a besoin d’accéder au CBT.
Si une application doit définir la valeur de la ContentLength propriété, cette opération doit être effectuée avant de récupérer le flux.
Vous devez appeler la Stream.Close méthode pour fermer le flux et libérer la connexion à des fins de réutilisation. Si vous ne fermez pas le flux, votre application n’a plus de connexions.
Note
Votre application ne peut pas combiner de méthodes synchrones et asynchrones pour une requête particulière. Si vous appelez la GetRequestStream méthode, vous devez utiliser la GetResponse méthode pour récupérer la réponse.
Note
Ce membre génère des informations de suivi lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.
Voir aussi
- TransportContext
- GetChannelBinding(ChannelBindingKind)
- System.Security.Authentication.ExtendedProtection
- ChannelBinding
- Integrated Windows Authentication with Extended Protection (en anglais)