HttpWebRequest.GetRequestStream Yöntem

Tanım

İ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 falseve 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 .NET Framework ağ izleme bölümüne bakın.

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

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 falseve 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 .NET Framework ağ izleme bölümüne bakın.

Ayrıca bkz.

Şunlara uygulanır