Share via


HttpWebRequest.GetRequestStream Metode

Definisi

Mendapatkan objek yang Stream digunakan untuk menulis data permintaan.

Overload

GetRequestStream()

Mendapatkan objek yang Stream digunakan untuk menulis data permintaan.

GetRequestStream(TransportContext)

Mendapatkan objek yang Stream digunakan untuk menulis data permintaan dan output yang TransportContext terkait dengan aliran.

GetRequestStream()

Sumber:
HttpWebRequest.cs
Sumber:
HttpWebRequest.cs
Sumber:
HttpWebRequest.cs

Mendapatkan objek yang Stream digunakan untuk menulis data permintaan.

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

Mengembalikan

untuk Stream digunakan untuk menulis data permintaan.

Pengecualian

Properti Method ini adalah GET atau HEAD.

-atau-

KeepAlive adalah true, AllowWriteStreamBuffering adalah false, ContentLength adalah -1, SendChunked adalah false, dan Method adalah POST atau PUT.

Metode GetRequestStream() ini disebut lebih dari sekali.

-atau-

TransferEncoding diatur ke nilai dan SendChunked adalah false.

Validator cache permintaan menunjukkan bahwa respons untuk permintaan ini dapat dilayani dari cache; namun, permintaan yang menulis data tidak boleh menggunakan cache. Pengecualian ini dapat terjadi jika Anda menggunakan validator cache kustom yang salah diimplementasikan.

Abort() sebelumnya dipanggil.

-atau-

Periode waktu habis untuk permintaan kedaluwarsa.

-atau-

Terjadi kesalahan saat memproses permintaan ini.

Dalam aplikasi .NET Compact Framework, aliran permintaan dengan panjang konten nol tidak diperoleh dan ditutup dengan benar. Untuk informasi selengkapnya tentang menangani permintaan panjang konten nol, lihat Pemrograman Jaringan di .NET Compact Framework.

Contoh

Contoh kode berikut menggunakan metode untuk mengembalikan instans GetRequestStream aliran.

// 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()

Keterangan

Metode GetRequestStream mengembalikan aliran yang digunakan untuk mengirim data untuk HttpWebRequest. Stream Setelah objek dikembalikan, Anda dapat mengirim data dengan HttpWebRequest menggunakan Stream.Write metode .

Jika aplikasi perlu mengatur nilai ContentLength properti , maka ini harus dilakukan sebelum mengambil aliran.

Anda harus memanggil Stream.Close metode untuk menutup aliran dan merilis koneksi untuk digunakan kembali. Kegagalan untuk menutup aliran menyebabkan aplikasi Anda kehabisan koneksi.

Catatan

Aplikasi Anda tidak dapat mencampur metode sinkron dan asinkron untuk permintaan tertentu. Jika Anda memanggil GetRequestStream metode , Anda harus menggunakan GetResponse metode untuk mengambil respons.

Catatan

Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.

Lihat juga

Berlaku untuk

GetRequestStream(TransportContext)

Sumber:
HttpWebRequest.cs
Sumber:
HttpWebRequest.cs
Sumber:
HttpWebRequest.cs

Mendapatkan objek yang Stream digunakan untuk menulis data permintaan dan output yang TransportContext terkait dengan aliran.

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

Parameter

Mengembalikan

untuk Stream digunakan untuk menulis data permintaan.

Pengecualian

Metode GetRequestStream() tidak dapat memperoleh Stream.

Metode GetRequestStream() ini disebut lebih dari sekali.

-atau-

TransferEncoding diatur ke nilai dan SendChunked adalah false.

Validator cache permintaan menunjukkan bahwa respons untuk permintaan ini dapat dilayani dari cache; namun, permintaan yang menulis data tidak boleh menggunakan cache. Pengecualian ini dapat terjadi jika Anda menggunakan validator cache kustom yang salah diimplementasikan.

Properti Method ini adalah GET atau HEAD.

-atau-

KeepAlive adalah true, AllowWriteStreamBuffering adalah false, ContentLength adalah -1, SendChunked adalah false, dan Method adalah POST atau PUT.

Abort() sebelumnya dipanggil.

-atau-

Periode waktu habis untuk permintaan kedaluwarsa.

-atau-

Terjadi kesalahan saat memproses permintaan ini.

Keterangan

Metode GetRequestStream mengembalikan aliran yang digunakan untuk mengirim data untuk HttpWebRequest output dan yang TransportContext terkait dengan aliran. Stream Setelah objek dikembalikan, Anda dapat mengirim data dengan HttpWebRequest menggunakan Stream.Write metode .

Beberapa aplikasi yang menggunakan autentikasi Windows terintegrasi dengan perlindungan yang diperluas mungkin harus dapat mengkueri lapisan transportasi yang digunakan untuk HttpWebRequest mengambil token pengikatan saluran (CBT) dari saluran TLS yang mendasar. Metode ini GetRequestStream menyediakan akses ke informasi ini untuk metode HTTP yang memiliki isi permintaan (POST dan PUT permintaan). Ini hanya diperlukan jika aplikasi menerapkan autentikasinya sendiri dan membutuhkan akses ke CBT.

Jika aplikasi perlu mengatur nilai ContentLength properti , maka ini harus dilakukan sebelum mengambil aliran.

Anda harus memanggil Stream.Close metode untuk menutup aliran dan merilis koneksi untuk digunakan kembali. Kegagalan untuk menutup aliran menyebabkan aplikasi Anda kehabisan koneksi.

Catatan

Aplikasi Anda tidak dapat mencampur metode sinkron dan asinkron untuk permintaan tertentu. Jika Anda memanggil GetRequestStream metode , Anda harus menggunakan GetResponse metode untuk mengambil respons.

Catatan

Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.

Lihat juga

Berlaku untuk