Mailing List



NerdyHearn - Blog

<< Back To All Blogs

Resolving Odd 5 Minute Timeout in HttpWebRequest.

Monday, December 7th, 2009

Recently I have been using the HttpWebRequest class a large amount, and we came across a scenario in which I was continually getting a timeout, but I had been setting the Timeout property of the HttpWebRequest to much larger than 5 minutes, but was still receiving the timeout.

In this case we were using an synchronous call through a StreamReader to get back all of the data as simple text:

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = reader.ReadToEnd();

It was timing out on reader.ReadToEnd() which made me suspicious of a possible stream timeout, and after some digging that was indeed the case.

The stream reading abilities of HttpWebRequest will by default timeout at 5 minutes (300 seconds), and in order to get around this issue you need to set the ReadWriteTimeout property, such as follows:

request.ReadWriteTimeout = 600; // In seconds, so this would be 10 minutes

This will not apply to asynchronous requests, just as a note of interest.

A rather simple issue, but was very frustrating at first as we were trying to simply increase the Timeout property.

Timeoutin' Tom Out.



Related Blogs

Configuring ASP.NET (And SharePoint) to use SQL-based Sessions
Impersonating a user in ASP.NET
Validate a Windows Username and Password against Active Directory
Resolving ASP.NET Web.Config Inheritance


Mike said on Tuesday, February 28th, 2012 @ 11:39 AM

ReadWriteTimeout should be set in milliseconds, not seconds. 600 = 6/10 of a second

Add A Comment



Email Address: (not public, used to send notifications on further comments)


Enter the text above, except for the 1st and last character:

NerdyHearn - Latest tech news relating to C#, ASP.NET, SharePoint, PHP, general development, and more. SaveMySerials - Protect yourself from theft, fire, natural disasters and more by recording your serial numbers