Compartir a través de


WebRequest.Timeout Propiedad

Definición

Obtiene o establece el período de tiempo, en milisegundos, antes de que se agote el tiempo de espera de la solicitud.

public:
 virtual property int Timeout { int get(); void set(int value); };
public virtual int Timeout { get; set; }
member this.Timeout : int with get, set
Public Overridable Property Timeout As Integer

Valor de propiedad

El período de tiempo, en milisegundos, hasta que se agota el tiempo de espera de la solicitud o el valor Infinite para indicar que la solicitud no agota el tiempo de espera. El valor predeterminado se define mediante la clase descendiente.

Excepciones

Cualquier intento se realiza para obtener o establecer la propiedad, cuando la propiedad no se invalida en una clase descendiente.

Ejemplos

En el ejemplo siguiente se establece la propiedad Timeout en 10000 milisegundos. Si el período de tiempo de espera expira antes de que se pueda devolver el recurso, se produce un WebException.

// Create a new WebRequest Object to the mentioned URL.
WebRequest^ myWebRequest = WebRequest::Create( "http://www.contoso.com" );
Console::WriteLine( "\nThe Timeout time of the request before setting is : {0} milliseconds", myWebRequest->Timeout );

// Set the 'Timeout' property in Milliseconds.
myWebRequest->Timeout = 10000;

// This request will throw a WebException if it reaches the timeout limit
// before it is able to fetch the resource.
WebResponse^ myWebResponse = myWebRequest->GetResponse();

         // Create a new WebRequest Object to the mentioned URL.
WebRequest myWebRequest=WebRequest.Create("http://www.contoso.com");
Console.WriteLine("\nThe Timeout time of the request before setting is : {0} milliseconds",myWebRequest.Timeout);

// Set the 'Timeout' property in Milliseconds.
myWebRequest.Timeout=10000;

// This request will throw a WebException if it reaches the timeout limit before it is able to fetch the resource.
         WebResponse myWebResponse=myWebRequest.GetResponse();

   ' Create a new WebRequest Object to the mentioned URL.
   Dim myWebRequest As WebRequest = WebRequest.Create("http://www.contoso.com")
   Console.WriteLine(ControlChars.Cr + "The Timeout time of the request before setting is : {0} milliseconds", myWebRequest.Timeout)

   ' Set the 'Timeout' property in Milliseconds.
myWebRequest.Timeout = 10000

  ' Assign the response object of 'WebRequest' to a 'WebResponse' variable.
   Dim myWebResponse As WebResponse = myWebRequest.GetResponse()

Comentarios

Cautela

WebRequest, HttpWebRequest, ServicePointy WebClient están obsoletos y no debe usarlos para el nuevo desarrollo. Use HttpClient en su lugar.

La propiedad Timeout indica el período de tiempo, en milisegundos, hasta que la solicitud agota el tiempo de espera y produce un WebException. La propiedad Timeout afecta solo a las solicitudes sincrónicas realizadas con el método GetResponse. Para agotar el tiempo de espera de las solicitudes asincrónicas, use el método Abort.

Nota

La clase WebRequest es una clase abstract. El comportamiento real de las instancias de WebRequest en tiempo de ejecución viene determinado por la clase descendiente devuelta por el método WebRequest.Create. Para obtener más información sobre los valores predeterminados y las excepciones, consulte la documentación de las clases descendientes, como HttpWebRequest y FileWebRequest.

Notas a los desarrolladores de herederos

Las clases descendientes indican un tiempo de espera iniciando una WebException con el campo Status establecido en Timeout. Cuando Timeout se establece en Infinite la clase descendiente no agota el tiempo de espera.

Se aplica a

Consulte también