HttpWebRequest.Timeout Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví hodnotu časového limitu v milisekundách pro metody GetResponse() a GetRequestStream() metody.
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
Hodnota vlastnosti
Počet milisekund, které se mají počkat, než vyprší časový limit požadavku. Výchozí hodnota je 100 000 milisekund (100 sekund).
Výjimky
Zadaná hodnota je menší než nula a není Infinite.
Příklady
Následující příklad kódu nastaví Timeout vlastnost objektu 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.
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)
Poznámky
Opatrnost
WebRequest, HttpWebRequest, ServicePointa WebClient jsou zastaralé a neměli byste je používat pro nový vývoj. Místo toho použijte HttpClient.
Timeout je počet milisekund, které následný synchronní požadavek provedený metodou GetResponse čeká na odpověď a GetRequestStream metoda čeká na datový proud. Platí Timeout pro celý požadavek a odpověď, ne jednotlivě pro GetRequestStream volání metody a GetResponse metody. Pokud prostředek není vrácen během časového limitu, požadavek vyvolá WebException s vlastností nastavenou Status na WebExceptionStatus.Timeout.
Vlastnost Timeout musí být nastavena před GetRequestStream zavolání nebo GetResponse metody. Timeout Změna vlastnosti po volání GetRequestStream nebo GetResponse metody nemá žádný vliv
Vlastnost Timeout nemá žádný vliv na asynchronní požadavky provedené pomocí BeginGetResponse metody nebo BeginGetRequestStream metody.
Opatrnost
V případě asynchronních požadavků implementuje klientská aplikace vlastní mechanismus vypršení časového limitu. Podívejte se na příklad v BeginGetResponse metodě.
Chcete-li určit dobu čekání před vypršením časového limitu operace čtení nebo zápisu ReadWriteTimeout , použijte vlastnost.
Vrácení nebo vypršení časového limitu dotazu DNS (Domain Name System) může trvat až 15 sekund. Pokud váš požadavek obsahuje název hostitele, který vyžaduje překlad, a nastavíte Timeout hodnotu menší než 15 sekund, může trvat 15 sekund nebo déle, než WebException se vyvolá, aby se v požadavku označil časový limit.