Bagikan melalui


HttpWebRequest.Timeout Properti

Definisi

Mendapatkan atau menetapkan nilai batas waktu dalam milidetik untuk metode GetResponse() dan GetRequestStream().

public:
 virtual property int Timeout { int get(); void set(int value); };
public override int Timeout { get; set; }
member this.Timeout : int with get, set
Public Overrides Property Timeout As Integer

Nilai Properti

Jumlah milidetik untuk menunggu sebelum waktu permintaan habis. Nilai defaultnya adalah 100.000 milidetik (100 detik).

Pengecualian

Nilai yang ditentukan kurang dari nol dan tidak Infinite.

Contoh

Contoh kode berikut mengatur properti Timeout objek HttpWebRequest.

// Create a new 'HttpWebRequest' Object to the mentioned URL.
HttpWebRequest^ myHttpWebRequest = (HttpWebRequest^)( WebRequest::Create( "http://www.contoso.com" ) );
Console::WriteLine( "\nThe timeout time of the request before setting the property is {0} milliseconds.", myHttpWebRequest->Timeout );
// Set the  'Timeout' property of the HttpWebRequest to 10 milliseconds.
myHttpWebRequest->Timeout = 10;
// Display the 'Timeout' property of the 'HttpWebRequest' on the console.
Console::WriteLine( "\nThe timeout time of the request after setting the timeout is {0} milliseconds.", myHttpWebRequest->Timeout );
// A HttpWebResponse object is created and is GetResponse Property of the HttpWebRequest associated with it
HttpWebResponse^ myHttpWebResponse = (HttpWebResponse^)( myHttpWebRequest->GetResponse() );
// Create a new 'HttpWebRequest' Object to the mentioned URL.
HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create("http://www.contoso.com");
Console.WriteLine("\nThe timeout time of the request before setting the property is  {0}  milliSeconds.",myHttpWebRequest.Timeout);
// Set the  'Timeout' property of the HttpWebRequest to 10 milliseconds.
myHttpWebRequest.Timeout=10;
// Display the 'Timeout' property of the 'HttpWebRequest' on the console.
Console.WriteLine("\nThe timeout time of the request after setting the timeout is {0}  milliSeconds.",myHttpWebRequest.Timeout);
// A HttpWebResponse object is created and is GetResponse Property of the HttpWebRequest associated with it
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
' Create a new 'HttpWebRequest' Object to the mentioned URL.
     Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create("http://www.contoso.com"), HttpWebRequest)
     Console.WriteLine(ControlChars.Cr + "The timeout time of the request before setting the property is  {0}  milliSeconds", myHttpWebRequest.Timeout)
    ' Set the  'Timeout' property of the HttpWebRequest to 10 milliseconds.
 myHttpWebRequest.Timeout = 10	
     ' Display the 'Timeout' property of the 'HttpWebRequest' on the console.
     Console.WriteLine(ControlChars.Cr + "The timeout time of the request after setting the timeout is {0}  milliSeconds", myHttpWebRequest.Timeout)
     ' A HttpWebResponse object is created and is GetResponse Property of the HttpWebRequest associated with it 
     Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)

Keterangan

Hati

WebRequest, HttpWebRequest, ServicePoint, dan WebClient usang, dan Anda tidak boleh menggunakannya untuk pengembangan baru. Gunakan HttpClient sebagai gantinya.

Timeout adalah jumlah milidetik bahwa permintaan sinkron berikutnya yang dibuat dengan metode GetResponse menunggu respons, dan metode GetRequestStream menunggu streaming. Timeout berlaku untuk seluruh permintaan dan respons, tidak secara individual ke panggilan metode GetRequestStream dan GetResponse. Jika sumber daya tidak dikembalikan dalam periode waktu habis, permintaan akan melemparkan WebException dengan properti Status diatur ke WebExceptionStatus.Timeout.

Properti Timeout harus diatur sebelum metode GetRequestStream atau GetResponse dipanggil. Mengubah properti Timeout setelah memanggil metode GetRequestStream atau GetResponse tidak berpengaruh

Properti Timeout tidak berpengaruh pada permintaan asinkron yang dibuat dengan metode BeginGetResponse atau BeginGetRequestStream.

Hati

Dalam kasus permintaan asinkron, aplikasi klien menerapkan mekanisme waktu habisnya sendiri. Lihat contoh dalam metode BeginGetResponse.

Untuk menentukan jumlah waktu untuk menunggu sebelum waktu operasi baca atau tulis habis, gunakan properti ReadWriteTimeout.

Kueri Sistem Nama Domain (DNS) mungkin membutuhkan waktu hingga 15 detik untuk kembali atau kehabisan waktu. Jika permintaan Anda berisi nama host yang memerlukan resolusi dan Anda mengatur Timeout ke nilai kurang dari 15 detik, mungkin perlu waktu 15 detik atau lebih sebelum WebException dilemparkan untuk menunjukkan batas waktu pada permintaan Anda.

Berlaku untuk

Lihat juga