WebRequest.Timeout Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
, ServicePoint
y 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.