Поделиться через


WebRequest.Timeout Свойство

Определение

Возвращает или задает длительность времени в миллисекундах до истечения времени ожидания запроса.

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

Значение свойства

Длительность времени в миллисекундах до истечения времени ожидания запроса или значения Infinite, чтобы указать, что запрос не истекает. Значение по умолчанию определяется классом-потомком.

Исключения

Любая попытка получить или задать свойство, если свойство не переопределяется в классе-потомке.

Примеры

В следующем примере свойство Timeout присваивается 10000 миллисекундам. Если срок ожидания истекает до возвращения ресурса, создается 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()

Комментарии

Осторожность

WebRequest, HttpWebRequest, ServicePointи WebClient устарели, и их не следует использовать для новой разработки. Вместо этого используйте HttpClient.

Свойство Timeout указывает длительность времени (в миллисекундах), пока запрос не истекает и не выдает WebException. Свойство Timeout влияет только на синхронные запросы, выполненные с помощью метода GetResponse. Для ожидания асинхронных запросов используйте метод Abort.

Заметка

Класс WebRequest — это класс abstract. Фактическое поведение экземпляров WebRequest во время выполнения определяется классом-потомком, возвращаемым методом WebRequest.Create. Дополнительные сведения о значениях и исключениях по умолчанию см. в документации по классам-потомкам, таким как HttpWebRequest и FileWebRequest.

Примечания для тех, кто наследует этот метод

Классы-потомки сигнализируют о времени ожидания путем создания WebException с полем Status для Timeout. Если для Timeout задано значение Infinite время ожидания класса-потомка не истекает.

Применяется к

См. также раздел