Sdílet prostřednictvím


HttpWebRequest.Timeout Vlastnost

Definice

Získá nebo nastaví hodnotu časového limitu v milisekundách pro GetResponse() metody a 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

Hodnota vlastnosti

Počet milisekund před vypršením časového limitu 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.
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

Timeout je počet milisekund, kdy následný synchronní požadavek provedený pomocí GetResponse metody čeká na odpověď a GetRequestStream metoda čeká na datový proud. Platí Timeout pro celý požadavek a odpověď, nikoli jednotlivě na GetRequestStream volání metody a GetResponse . Pokud se prostředek během časového limitu nevrátí, požadavek vyvolá chybu s Status vlastností nastavenou WebException na WebExceptionStatus.Timeout.

Vlastnost Timeout musí být nastavena před zavolání GetRequestStream metody nebo GetResponse . Timeout Změna vlastnosti po volání GetRequestStream metody nebo GetResponse nemá žádný vliv

Vlastnost Timeout nemá žádný vliv na asynchronní požadavky prováděné pomocí BeginGetResponse metody nebo BeginGetRequestStream .

Upozornění

V případě asynchronních požadavků klientská aplikace implementuje vlastní mechanismus časového limitu. Podívejte se na příklad v BeginGetResponse metodě .

Pokud chcete určit dobu čekání před vypršením časového limitu operace čtení nebo zápisu ReadWriteTimeout , použijte vlastnost .

Vrácení dotazu DNS (Domain Name System) nebo vypršení časového limitu 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á chyba, která značí vypršení časového limitu vaší žádosti.

Platí pro

Viz také