HTTP PUT large files times out after 100 seconds

Hi - An application I wrote uploads files to an IIS 6 server via HTTPS and PUT.  This works great when the files are small, but when they are over a few MBs the transfers always fail with a "timeout" error.

Some research has revealed the "AspMaxRequestEntityAllowed" parameter in the IIS metabase file.  Setting this up does not have any effect.  I suspect either because it's a pure HTTP PUT command (and not a POST) or because it is a PUT and not and ASP request.

The weird thing about it is that the timeout always seems to happen at exactly 100 seconds.  I can't find a timeout anywhere that's set at 100 seconds.  Any ideas anybody?


CoderNotITAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Carl TawnSystems and Integration DeveloperCommented:
Firstly "AspMaxRequestEntityAllowed" won't be doing anything because it relates to the maximum size of file that can be uploaded, not the time it takes to do it.

You will probably need to extend the ScriptTimeout value (the default is 90 seconds) for the page doing the upload, which you can do like:


<% Server.ScriptTimeout = 180 %>

Open in new window

0
CoderNotITAuthor Commented:
Carl,

Thanks for responding.  Where would this snippet go?  There's not actually any page.  This is a pure HTTP PUT initiated programmatically.

0
Carl TawnSystems and Integration DeveloperCommented:
Initiaited programmatically how? using xmlhttp or something similar ?
0
Top Threats of Q1 & How to Defend Against Them

WEBINAR: Join WatchGuard CTO and our Threat Research Team on Aug. 2nd to hear the findings from our Q1 Internet Security Report! Learn more about the top threats detected in the first quarter and how you can defend your business against them!

CoderNotITAuthor Commented:
In a Windows service written in C#.  Something like this:

System.Net.WebClient wc = new System.Net.WebClient();
wc.UploadFile(uriString, "PUT", theFile);

Open in new window

0
Carl TawnSystems and Integration DeveloperCommented:
Take a look at the solution in this question: http://www.experts-exchange.com/Programming/Languages/.NET/Q_20931618.html

It uses the HttpWebRequest object, which gives you a bit more control than the more simplistic WebClient object.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
CoderNotITAuthor Commented:
Wow, that looks like it could be the answer.  Thanks very much for pointing me to it.  Don't know how I didn't find that.  I won't be able to test it out until next week, but will probably accept your solution then.  Thanks again.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft IIS Web Server

From novice to tech pro — start learning today.