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

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


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