Partilhar via


HttpWebRequest.Timeout Propriedade

Definição

Obtém ou define o valor de tempo limite em milissegundos para os métodos e GetRequestStream() os GetResponse() métodos.

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 da propriedade

O número de milissegundos a aguardar antes do tempo limite da solicitação. O valor padrão é 100.000 milissegundos (100 segundos).

Exceções

O valor especificado é menor que zero e não Infiniteé .

Exemplos

O exemplo de código a seguir define a Timeout propriedade do 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.
     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)

Comentários

Cuidado

WebRequest, HttpWebRequeste ServicePointWebClient são obsoletos e você não deve usá-los para um novo desenvolvimento. Use HttpClient em seu lugar.

Timeout é o número de milissegundos que uma solicitação síncrona subsequente feita com o GetResponse método aguarda uma resposta e o GetRequestStream método aguarda um fluxo. Aplica-se Timeout a toda a solicitação e resposta, não individualmente às chamadas e GetResponse ao GetRequestStream método. Se o recurso não for retornado dentro do período de tempo limite, a solicitação gerará um WebException com a Status propriedade definida como WebExceptionStatus.Timeout.

A Timeout propriedade deve ser definida antes que o método ou GetResponse o GetRequestStream método seja chamado. Alterar a Timeout propriedade depois de chamar o GetRequestStream método ou GetResponse não tem efeito

A Timeout propriedade não tem efeito sobre solicitações assíncronas feitas com o método ou BeginGetRequestStream o BeginGetResponse método.

Cuidado

No caso de solicitações assíncronas, o aplicativo cliente implementa seu próprio mecanismo de tempo limite. Consulte o exemplo no BeginGetResponse método.

Para especificar o tempo de espera antes de uma operação de leitura ou gravação atingir o tempo limite, use a ReadWriteTimeout propriedade.

Uma consulta DNS (Sistema de Nomes de Domínio) pode levar até 15 segundos para retornar ou um tempo limite. Se sua solicitação contiver um nome de host que exija resolução e você definir Timeout como um valor inferior a 15 segundos, poderá levar 15 segundos ou mais antes que um WebException seja lançado para indicar um tempo limite em sua solicitação.

Aplica-se a

Confira também