HttpWebRequest.Timeout Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger timeout-värdet i millisekunder för GetResponse() metoderna och 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
Egenskapsvärde
Antalet millisekunder som ska vänta innan tidsgränsen för begäran uppnås. Standardvärdet är 100 000 millisekunder (100 sekunder).
Undantag
Det angivna värdet är mindre än noll och är inte Infinite.
Exempel
I följande kodexempel anges Timeout objektets HttpWebRequest egenskap.
// 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)
Kommentarer
Caution
WebRequest, HttpWebRequest, ServicePoint, och WebClient är föråldrade och du bör inte använda dem för ny utveckling. Använd HttpClient i stället.
Timeout är antalet millisekunder som en efterföljande synkron begäran som görs med GetResponse metoden väntar på ett svar och GetRequestStream metoden väntar på en ström. Timeout Gäller för hela begäran och svaret, inte individuellt för metodanropen GetRequestStream ochGetResponse. Om resursen inte returneras inom tidsgränsen genererar begäran en WebException med Status egenskapen inställd på WebExceptionStatus.Timeout.
Egenskapen Timeout måste anges innan GetRequestStream metoden eller GetResponse anropas. Timeout Att ändra egenskapen efter att ha anropat GetRequestStream metoden eller GetResponse har ingen effekt
Egenskapen Timeout har ingen effekt på asynkrona begäranden som görs med BeginGetResponse metoden eller BeginGetRequestStream .
Caution
När det gäller asynkrona begäranden implementerar klientprogrammet sin egen timeout-mekanism. Se exemplet i BeginGetResponse -metoden.
Om du vill ange hur lång tid det tar att vänta innan en läs- eller skrivåtgärd överskrider tidsgränsen ReadWriteTimeout använder du egenskapen .
En DNS-fråga (Domain Name System) kan ta upp till 15 sekunder att returnera eller överskrida tidsgränsen. Om din begäran innehåller ett värdnamn som kräver lösning och du anger Timeout ett värde som är mindre än 15 sekunder kan det ta 15 sekunder eller mer innan ett WebException utlöses för att indikera en tidsgräns för din begäran.