HttpWebRequest.Timeout Propiedad

Definición

Obtiene o establece el valor de tiempo de espera, en milisegundos, para los métodos GetResponse() y 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

Valor de propiedad

Número de milisegundos que se deben esperar antes de que se agote el tiempo de espera de la solicitud. El valor predeterminado es 100 000 milisegundos (100 segundos).

Excepciones

El valor especificado es inferior a cero y no es Infinite.

Ejemplos

En el ejemplo de código siguiente se establece la Timeout propiedad del HttpWebRequest objeto .

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

Comentarios

Timeout es el número de milisegundos que realiza una solicitud sincrónica posterior con el GetResponse método espera una respuesta y el GetRequestStream método espera una secuencia. Timeout se aplica a toda la solicitud y respuesta, no individualmente a las llamadas de GetRequestStream método y GetResponse . Si el recurso no se devuelve dentro del período de tiempo de espera, la solicitud produce un WebException con la Status propiedad establecida en WebExceptionStatus.Timeout.

La Timeout propiedad debe establecerse antes de llamar al GetRequestStream método o GetResponse . Cambiar la Timeout propiedad después de llamar al GetRequestStream método o GetResponse no tiene ningún efecto

La Timeout propiedad no tiene ningún efecto en las solicitudes asincrónicas realizadas con el BeginGetResponse método o BeginGetRequestStream .

Precaución

En el caso de solicitudes asincrónicas, la aplicación cliente implementa su propio mecanismo de tiempo de espera. Consulte el ejemplo en el BeginGetResponse método .

Para especificar la cantidad de tiempo de espera antes de que se agote el tiempo de espera de una operación de lectura o escritura, use la ReadWriteTimeout propiedad .

Una consulta del Sistema de nombres de dominio (DNS) puede tardar hasta 15 segundos en devolverse o agotarse el tiempo de espera. Si la solicitud contiene un nombre de host que requiere resolución y se establece Timeout en un valor inferior a 15 segundos, puede tardar 15 segundos o más antes de que se produzca un WebException error para indicar un tiempo de espera en la solicitud.

Se aplica a

Consulte también