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
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ısını TransportContext alır. |
GetRequestStream()
- 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
İstek verilerini yazmak için kullanılacak A Stream .
Özel durumlar
Method Özelliği GET veya HEAD şeklindedir.
-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 değeridir false
.
İstek önbelleği doğrulayıcı, bu istek için yanıtın önbellekten verilebileceğini belirtti; ancak, veri yazma istekleri önbelleği kullanmamalıdır. 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, içerik uzunluğu sıfır olan bir istek akışı doğru bir şekilde alınamadı ve 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 = 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()
Açıklamalar
yöntemi, GetRequestStream için veri HttpWebRequestgöndermek üzere kullanı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
Uygulamanızda ağ izlemeyi etkinleştirdiğinizde, bu üye izleme bilgilerini çıkarı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
İstek verilerini yazmak için kullanılacak bir Stream nesnesi alır ve akışla ilişkili çıktısını 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çin .Stream
Döndürülenler
İstek verilerini yazmak için kullanılacak A Stream .
Özel durumlar
GetRequestStream() yöntemi elde edemediStream.
GetRequestStream() yöntemi birden çok kez çağrılır.
-veya-
TransferEncoding bir değere ayarlanır ve SendChunked değeridir false
.
İstek önbelleği doğrulayıcı, bu istek için yanıtın önbellekten verilebileceğini belirtti; ancak, veri yazma istekleri önbelleği kullanmamalıdır. Bu özel durum, yanlış uygulanan bir özel önbellek doğrulayıcı kullanıyorsanız oluşabilir.
Method Özelliği GET veya HEAD şeklindedir.
-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
GetRequestStream yöntemi, ve için veri göndermek için HttpWebRequest kullanılacak bir akış döndürür ve akışla ilişkili çıkışını 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övdesine (POST
ve PUT
isteklerine) sahip 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
Uygulamanızda ağ izlemeyi etkinleştirdiğinizde, bu üye izleme bilgilerini çıkarı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ı
Şunlara uygulanır
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin