Aracılığıyla paylaş


HttpWebRequest.Timeout Özellik

Tanım

GetResponse() ve GetRequestStream() yöntemleri için zaman aşımı değerini milisaniye cinsinden alır veya ayarlar.

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

Özellik Değeri

İstek zaman aşımına uğramadan önce beklenmek için gereken milisaniye sayısı. Varsayılan değer 100.000 milisaniyedir (100 saniye).

Özel durumlar

Belirtilen değer sıfırdan küçüktür ve Infinitedeğildir.

Örnekler

Aşağıdaki kod örneği, HttpWebRequest nesnesinin Timeout özelliğini ayarlar.

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

Açıklamalar

Dikkat

WebRequest, HttpWebRequest, ServicePointve WebClient kullanım dışıdır ve bunları yeni geliştirme için kullanmamalısınız. Bunun yerine HttpClient kullanın.

Timeout, GetResponse yöntemiyle yapılan sonraki bir zaman uyumlu isteğin yanıt beklediği ve GetRequestStream yönteminin akış beklediği milisaniye sayısıdır. Timeout, tek tek GetRequestStream ve GetResponse yöntem çağrıları için değil tüm istek ve yanıt için geçerlidir. Kaynak zaman aşımı süresi içinde döndürülmezse, istek Status özelliği WebExceptionStatus.Timeoutolarak ayarlanmış bir WebException oluşturur.

GetRequestStream veya GetResponse yöntemi çağrılmadan önce Timeout özelliği ayarlanmalıdır. GetRequestStream veya GetResponse yöntemini çağırdıktan sonra Timeout özelliğini değiştirmenin hiçbir etkisi yoktur

Timeout özelliğinin BeginGetResponse veya BeginGetRequestStream yöntemiyle yapılan zaman uyumsuz istekler üzerinde hiçbir etkisi yoktur.

Dikkat

Zaman uyumsuz istekler söz konusu olduğunda, istemci uygulaması kendi zaman aşımı mekanizmasını uygular. BeginGetResponse yöntemindeki örne bakın.

Okuma veya yazma işleminin zaman aşımına uğraması için beklenme süresini belirtmek için ReadWriteTimeout özelliğini kullanın.

Etki Alanı Adı Sistemi (DNS) sorgusu döndürülmesi veya zaman aşımına uğrarken 15 saniye kadar sürebilir. İsteğiniz çözüm gerektiren bir ana bilgisayar adı içeriyorsa ve Timeout 15 saniyeden kısa bir değere ayarlarsanız, isteğinizin zaman aşımını belirtmek için bir WebException 15 saniye veya daha uzun sürebilir.

Şunlara uygulanır

Ayrıca bkz.