WebRequest.Timeout Property

Gets or sets the length of time, in milliseconds, before the request times out.

Namespace: System.Net
Assembly: System (in system.dll)

Public Overridable Property Timeout As Integer
Dim instance As WebRequest
Dim value As Integer

value = instance.Timeout

instance.Timeout = value
/** @property */
public int get_Timeout ()

/** @property */
public void set_Timeout (int value)

public function get Timeout () : int

public function set Timeout (value : int)

Not applicable.

Property Value

The length of time, in milliseconds, until the request times out, or the value Timeout.Infinite to indicate that the request does not time out. The default value is defined by the descendant class.

Exception typeCondition


Any attempt is made to get or set the property, when the property is not overridden in a descendant class.

The Timeout property indicates the length of time, in milliseconds, until the request times out and throws a WebException. The Timeout property affects only synchronous requests made with the GetResponse method. To time out asynchronous requests, use the Abort method.


The WebRequest class is an abstract class. The actual behavior of WebRequest instances at run time is determined by the descendant class returned by the WebRequest.Create method. For more information about default values and exceptions, see the documentation for the descendant classes, such as HttpWebRequest and FileWebRequest.

Notes to Inheritors: Descendant classes signal a timeout by throwing a WebException with the Status field set to WebExceptionStatus.Timeout. When Timeout is set to Timeout.Infinite the descendant class does not time out.

The following example sets the Timeout property to 10000 milliseconds. If the timeout period expires before the resource can be returned, a WebException is thrown.

   ' 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()

// 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", System.Convert.ToString(
// Set the 'Timeout' property in Milliseconds.
// This request will throw a WebException if it reaches the 
// timeout limit before it is able to fetch the resource.
WebResponse myWebResponse = myWebRequest.GetResponse();

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

Community Additions