HttpWebRequest.Timeout Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение времени ожидания в миллисекундах для GetResponse() методов и 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
Значение свойства
Число миллисекундах, ожидаемых до истечения времени ожидания запроса. Значение по умолчанию — 100 000 миллисекунд (100 секунд).
Исключения
Указанное значение меньше нуля и не Infiniteявляется.
Примеры
В следующем примере кода задается Timeout свойство HttpWebRequest объекта.
// 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)
Комментарии
Осторожность
WebRequest, HttpWebRequest, ServicePointи устарели, и WebClient вы не должны использовать их для новой разработки. Вместо этого используйте HttpClient.
Timeout — это число миллисекунд, которое последующий синхронный запрос, сделанный с GetResponse методом, ожидает ответа, а GetRequestStream метод ожидает потока. Применяется Timeout ко всему запросу и ответу, а не к GetRequestStream вызовам методов.GetResponse Если ресурс не возвращается в течение периода ожидания, запрос создает WebException исключение со свойством, заданным Status для WebExceptionStatus.Timeoutсвойства.
Свойство Timeout должно быть задано перед вызовом или GetResponse методомGetRequestStream. Timeout Изменение свойства после вызова GetRequestStream метода GetResponse не влияет
Свойство Timeout не влияет на асинхронные запросы, выполненные с BeginGetResponse помощью метода или BeginGetRequestStream метода.
Осторожность
В случае асинхронных запросов клиентское приложение реализует собственный механизм времени ожидания. Ознакомьтесь с примером в методе BeginGetResponse .
Чтобы указать время ожидания перед истечением времени ожидания операции чтения или записи, используйте ReadWriteTimeout это свойство.
Запрос системы доменных имен (DNS) может занять до 15 секунд для возврата или истечения времени ожидания. Если запрос содержит имя узла, требующее разрешения, и значение Timeout меньше 15 секунд, может потребоваться 15 секунд или более, прежде чем WebException будет создано время ожидания для запроса.