HttpWebRequest.GetRequestStream Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İstek verilerini yazmak için kullanılacak nesneyi Stream alır.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| GetRequestStream() |
İstek verilerini yazmak için kullanılacak nesneyi Stream alır. |
| GetRequestStream(TransportContext) |
İstek verilerini yazmak için kullanılacak bir Stream nesnesi alır ve akışla ilişkili çıktıları TransportContext alır. |
GetRequestStream()
- Kaynak:
- HttpWebRequest.cs
- Kaynak:
- HttpWebRequest.cs
- Kaynak:
- HttpWebRequest.cs
- Kaynak:
- HttpWebRequest.cs
- Kaynak:
- HttpWebRequest.cs
İstek verilerini yazmak için kullanılacak nesneyi Stream alır.
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
Döndürülenler
Stream İstek verilerini yazmak için kullanılacak A.
Özel durumlar
Method Özelliği GET veya HEAD'dir.
-veya-
KeepAlive is true, AllowWriteStreamBuffering is false, ContentLength is -1, SendChunked is false, ve Method is POST veya PUT.
GetRequestStream() yöntemi birden çok kez çağrılır.
-veya-
TransferEncoding bir değere ayarlanır ve SendChunked şeklindedir false.
İstek önbelleği doğrulayıcısı, bu istek için yanıtın önbellekten sunulabileceğini belirtti; ancak, veri yazan isteklerin önbelleği kullanmaması gerekir. Bu özel durum, yanlış uygulanan bir özel önbellek doğrulayıcı kullanıyorsanız oluşabilir.
Abort() daha önce çağrıldı.
-veya-
İsteğin zaman aşımı süresi doldu.
-veya-
İstek işlenirken bir hata oluştu.
.NET Compact Framework uygulamasında, sıfır içerik uzunluğuna sahip bir istek akışı alınmadı ve doğru şekilde kapatıldı. Sıfır içerik uzunluğu isteklerini işleme hakkında daha fazla bilgi için bkz. .NET Compact Framework'te Ağ Programlama.
Örnekler
Aşağıdaki kod örneği, bir akış örneği döndürmek için yöntemini kullanır GetRequestStream .
// 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()
Açıklamalar
Dikkat
WebRequest, HttpWebRequest, ServicePointve WebClient kullanım dışıdır ve bunları yeni geliştirme için kullanmamalısınız. Bunun yerine HttpClient kullanın.
yöntemi, GetRequestStream için veri göndermek için HttpWebRequestkullanılacak bir akış döndürür. Stream Nesnesi döndürüldükten sonra yöntemini kullanarak Stream.Write ile HttpWebRequest veri gönderebilirsiniz.
Bir uygulamanın özelliğin değerini ayarlaması ContentLength gerekiyorsa, akışı almadan önce bunun yapılması gerekir.
Akışı kapatmak ve bağlantıyı yeniden kullanmak üzere serbest bırakmak için yöntemini çağırmanız Stream.Close gerekir. Akışın kapatılamaması uygulamanızın bağlantılarının kapanmasına neden olur.
Not
Uygulamanız belirli bir istek için zaman uyumlu ve zaman uyumsuz yöntemleri karıştıramaz. yöntemini çağırırsanız GetRequestStream , yanıtı almak için yöntemini kullanmanız GetResponse gerekir.
Not
Bu üye, uygulamanızda ağ izlemeyi etkinleştirdiğinizde izleme bilgilerini döndürür. Daha fazla bilgi için bkz. .NET Framework'te Ağ İzleme.
Ayrıca bkz.
Şunlara uygulanır
GetRequestStream(TransportContext)
- Kaynak:
- HttpWebRequest.cs
- Kaynak:
- HttpWebRequest.cs
- Kaynak:
- HttpWebRequest.cs
- Kaynak:
- HttpWebRequest.cs
- Kaynak:
- HttpWebRequest.cs
İstek verilerini yazmak için kullanılacak bir Stream nesnesi alır ve akışla ilişkili çıktıları TransportContext alır.
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
Parametreler
- context
- TransportContext
TransportContext içinStream.
Döndürülenler
Stream İstek verilerini yazmak için kullanılacak A.
Özel durumlar
GetRequestStream() yöntemi öğesini alamadıStream.
GetRequestStream() yöntemi birden çok kez çağrılır.
-veya-
TransferEncoding bir değere ayarlanır ve SendChunked şeklindedir false.
İstek önbelleği doğrulayıcısı, bu istek için yanıtın önbellekten sunulabileceğini belirtti; ancak, veri yazan isteklerin önbelleği kullanmaması gerekir. Bu özel durum, yanlış uygulanan bir özel önbellek doğrulayıcı kullanıyorsanız oluşabilir.
Method Özelliği GET veya HEAD'dir.
-veya-
KeepAlive is true, AllowWriteStreamBuffering is false, ContentLength is -1, SendChunked is false, ve Method is POST veya PUT.
Abort() daha önce çağrıldı.
-veya-
İsteğin zaman aşımı süresi doldu.
-veya-
İstek işlenirken bir hata oluştu.
Açıklamalar
Dikkat
WebRequest, HttpWebRequest, ServicePointve WebClient kullanım dışıdır ve bunları yeni geliştirme için kullanmamalısınız. Bunun yerine HttpClient kullanın.
GetRequestStream yöntemi, ve için veri göndermek için HttpWebRequest kullanılacak bir akış döndürür ve akışla ilişkilendirilmiş çıkışları TransportContext verir. Stream Nesnesi döndürüldükten sonra yöntemini kullanarak Stream.Write ile HttpWebRequest veri gönderebilirsiniz.
Genişletilmiş koruma ile tümleşik Windows kimlik doğrulaması kullanan bazı uygulamaların, temel alınan TLS kanalından kanal bağlama belirtecini (CBT) almak için tarafından HttpWebRequest kullanılan aktarım katmanını sorgulayabilmesi gerekebilir. yöntemi, GetRequestStream istek gövdesi (POST ve PUT istekleri) olan HTTP yöntemleri için bu bilgilere erişim sağlar. Bu yalnızca uygulama kendi kimlik doğrulamasını uyguluyorsa ve CBT'ye erişmesi gerekiyorsa gereklidir.
Bir uygulamanın özelliğin değerini ayarlaması ContentLength gerekiyorsa, akışı almadan önce bunun yapılması gerekir.
Akışı kapatmak ve bağlantıyı yeniden kullanmak üzere serbest bırakmak için yöntemini çağırmanız Stream.Close gerekir. Akışın kapatılamaması uygulamanızın bağlantılarının kapanmasına neden olur.
Not
Uygulamanız belirli bir istek için zaman uyumlu ve zaman uyumsuz yöntemleri karıştıramaz. yöntemini çağırırsanız GetRequestStream , yanıtı almak için yöntemini kullanmanız GetResponse gerekir.
Not
Bu üye, uygulamanızda ağ izlemeyi etkinleştirdiğinizde izleme bilgilerini döndürür. Daha fazla bilgi için bkz. .NET Framework'te Ağ İzleme.
Ayrıca bkz.
- TransportContext
- GetChannelBinding(ChannelBindingKind)
- System.Security.Authentication.ExtendedProtection
- ChannelBinding
- Genişletilmiş Koruma ile Tümleşik Windows Kimlik Doğrulaması