WebRequest.Timeout Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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

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

public virtual int Timeout { get; set; }

Property Value

Type: System.Int32

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 Condition

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.
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.

// This request will throw a WebException if it reaches the timeout limit before it is able to fetch the resource.
                  WebResponse myWebResponse=myWebRequest.GetResponse();

.NET Framework
Available since 1.1
Return to top