HttpWebRequest.Timeout Özellik
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.
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
, ServicePoint
ve 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.