HttpWebRequest.Timeout Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit la valeur de délai d’attente en millisecondes pour les méthodes GetResponse() et 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
Valeur de propriété
Nombre de millisecondes à attendre avant l’expiration de la requête. La valeur par défaut est de 100 000 millisecondes (100 secondes).
Exceptions
La valeur spécifiée est inférieure à zéro et n’est pas Infinite.
Exemples
L’exemple de code suivant définit la propriété Timeout de l’objet 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)
Remarques
Prudence
WebRequest
, HttpWebRequest
, ServicePoint
et WebClient
sont obsolètes et vous ne devez pas les utiliser pour le nouveau développement. Utilisez HttpClient à la place.
Timeout correspond au nombre de millisecondes qu’une requête synchrone suivante effectuée avec la méthode GetResponse attend une réponse et que la méthode GetRequestStream attend un flux. Le Timeout s’applique à l’ensemble de la demande et de la réponse, et non individuellement aux appels de méthode GetRequestStream et GetResponse. Si la ressource n’est pas retournée dans le délai d’attente, la requête lève une WebException avec la propriété Status définie sur WebExceptionStatus.Timeout.
La propriété Timeout doit être définie avant l’appel de la méthode GetRequestStream ou GetResponse. La modification de la propriété Timeout après l’appel de la méthode GetRequestStream ou GetResponse n’a aucun effet
La propriété Timeout n’a aucun effet sur les requêtes asynchrones effectuées avec la méthode BeginGetResponse ou BeginGetRequestStream.
Prudence
Dans le cas de requêtes asynchrones, l’application cliente implémente son propre mécanisme de délai d’attente. Reportez-vous à l’exemple de la méthode BeginGetResponse.
Pour spécifier la durée d’attente avant qu’une opération de lecture ou d’écriture expire, utilisez la propriété ReadWriteTimeout.
Une requête DNS (Domain Name System) peut prendre jusqu’à 15 secondes pour retourner ou expirer. Si votre demande contient un nom d’hôte qui nécessite une résolution et que vous définissez Timeout sur une valeur inférieure à 15 secondes, il peut prendre 15 secondes ou plus avant qu’une WebException soit levée pour indiquer un délai d’attente sur votre demande.