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 bir Stream nesnesi alır.
Aşırı Yüklemeler
GetRequestStream() |
İstek verilerini yazmak için kullanılacak bir Stream nesnesi alır. |
GetRequestStream(TransportContext) |
İstek verilerini yazmak için kullanılacak bir Stream nesnesi alır ve akışla ilişkili TransportContext çıkışını alır. |
GetRequestStream()
- Kaynak:
- HttpWebRequest.cs
- Kaynak:
- HttpWebRequest.cs
- Kaynak:
- HttpWebRequest.cs
İstek verilerini yazmak için kullanılacak bir Stream nesnesi 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 bir Stream.
Özel durumlar
Method özelliği GET veya HEAD'dir.
-veya-
KeepAlive
true
, AllowWriteStreamBufferingfalse
, ContentLength -1, SendChunkedfalse
ve Method POST veya PUT şeklindedir.
GetRequestStream() yöntemi birden çok kez çağrılır.
-veya-
TransferEncoding bir değere ayarlanır ve SendChunkedfalse
.
İ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
Örnekler
Aşağıdaki kod örneği, akış örneği döndürmek için GetRequestStream yöntemini kullanır.
// 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
Dikkat
WebRequest
, HttpWebRequest
, ServicePoint
ve 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, HttpWebRequestiçin veri göndermek için kullanılacak bir akış döndürür. Stream nesnesi döndürüldükten sonra, Stream.Write yöntemini kullanarak HttpWebRequest ile veri gönderebilirsiniz.
Bir uygulamanın ContentLength özelliğinin değerini ayarlaması gerekiyorsa, akışı almadan önce bunun yapılması gerekir.
Akışı kapatmak ve bağlantıyı yeniden kullanmak üzere serbest bırakmak için Stream.Close yöntemini çağırmanız 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. GetRequestStream yöntemini çağırırsanız, yanıtı almak için GetResponse yöntemini kullanmanız 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
Ayrıca bkz.
- DefaultProxy Öğesi (Ağ Ayarları)
Ş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 TransportContext çıkışını 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
Streamiçin TransportContext.
Döndürülenler
İstek verilerini yazmak için kullanılacak bir Stream.
Özel durumlar
GetRequestStream() yöntemi Streamalamadı.
GetRequestStream() yöntemi birden çok kez çağrılır.
-veya-
TransferEncoding bir değere ayarlanır ve SendChunkedfalse
.
İ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
true
, AllowWriteStreamBufferingfalse
, ContentLength -1, SendChunkedfalse
ve Method POST veya PUT şeklindedir.
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
, ServicePoint
ve 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, HttpWebRequest için veri göndermek için kullanılacak bir akış döndürür ve akışla ilişkili TransportContext verir. Stream nesnesi döndürüldükten sonra, Stream.Write yöntemini kullanarak HttpWebRequest ile 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 HttpWebRequest tarafından kullanılan aktarım katmanını sorgulayabilmesi gerekebilir.
GetRequestStream yöntemi, 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 ContentLength özelliğinin değerini ayarlaması gerekiyorsa, akışı almadan önce bunun yapılması gerekir.
Akışı kapatmak ve bağlantıyı yeniden kullanmak üzere serbest bırakmak için Stream.Close yöntemini çağırmanız 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. GetRequestStream yöntemini çağırırsanız, yanıtı almak için GetResponse yöntemini kullanmanız 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
Ayrıca bkz.
- TransportContext
- GetChannelBinding(ChannelBindingKind)
- System.Security.Authentication.ExtendedProtection
- ChannelBinding
- Genişletilmiş Koruma ile Tümleşik Windows Kimlik Doğrulaması