HttpWebRequest.Timeout Property

Definition

Obtient ou définit la valeur du délai d’attente exprimée en millisecondes pour les méthodes GetResponse() et GetRequestStream().Gets or sets the time-out value in milliseconds for the GetResponse() and GetRequestStream() methods.

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

Property Value

Int32

Nombre de millisecondes à attendre avant l’expiration de la demande. La valeur par défaut est 100 000 millisecondes (100 secondes).The number of milliseconds to wait before the request times out. The default value is 100,000 milliseconds (100 seconds).

Exceptions

La valeur spécifiée est inférieure à zéro et n’est pas Infinite.The value specified is less than zero and is not Infinite.

Examples

L’exemple de code suivant définit la propriété Timeout de l’objet HttpWebRequest.The following code example sets the Timeout property of the HttpWebRequest object.

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

Remarks

Timeout est le nombre de millisecondes pendant lesquelles une requête synchrone ultérieure effectuée avec la méthode GetResponse attend une réponse, et la méthode GetRequestStream attend un flux.Timeout is the number of milliseconds that a subsequent synchronous request made with the GetResponse method waits for a response, and the GetRequestStream method waits for a stream. Le Timeout s’applique à l’ensemble de la requête et de la réponse, et non individuellement aux appels de méthode GetRequestStream et GetResponse.The Timeout applies to the entire request and response, not individually to the GetRequestStream and GetResponse method calls. Si la ressource n’est pas retournée dans le délai imparti, la requête lève une WebException avec la propriété Status définie sur WebExceptionStatus.Timeout.If the resource is not returned within the time-out period, the request throws a WebException with the Status property set to WebExceptionStatus.Timeout.

La propriété Timeout doit être définie avant l’appel de la méthode GetRequestStream ou GetResponse.The Timeout property must be set before the GetRequestStream or GetResponse method is called. La modification de la propriété Timeout après l’appel de la méthode GetRequestStream ou GetResponse n’a aucun effetChanging the Timeout property after calling the GetRequestStream or GetResponse method has no effect

La propriété Timeout n’a aucun effet sur les requêtes asynchrones effectuées avec la méthode BeginGetResponse ou BeginGetRequestStream.The Timeout property has no effect on asynchronous requests made with the BeginGetResponse or BeginGetRequestStream method.

Caution

Dans le cas de requêtes asynchrones, l’application cliente implémente son propre mécanisme de délai d’attente.In the case of asynchronous requests, the client application implements its own time-out mechanism. Reportez-vous à l’exemple de la méthode BeginGetResponse.Refer to the example in the BeginGetResponse method.

Pour spécifier la durée d’attente avant l’expiration d’une opération de lecture ou d’écriture, utilisez la propriété ReadWriteTimeout.To specify the amount of time to wait before a read or write operation times out, use the ReadWriteTimeout property.

Le retour ou l’expiration d’une requête DNS (Domain Name System) peut prendre jusqu’à 15 secondes. Si votre demande contient un nom d’hôte qui requiert une résolution et que vous définissez Timeout sur une valeur inférieure à 15 secondes, il peut s’avérer nécessaire d’avoir 15 secondes ou plus avant qu’une WebException soit levée pour indiquer un délai d’expiration sur votre demande.A Domain Name System (DNS) query may take up to 15 seconds to return or time out. If your request contains a host name that requires resolution and you set Timeout to a value less than 15 seconds, it may take 15 seconds or more before a WebException is thrown to indicate a timeout on your request.

Applies to

See also