Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.NET MVC Upload file time out

I currently have an ASP.NET MVC project that has file uploading and it works great if the user has a good enough connection and their file is of a reasonable size.

The problem I'm running into is that sometimes a user might have a 56k connection (how they can live with it in this day and age, I don't know) or are uploading a larger file or some combination of the two.

I'd like to keep a small timeout for normal pages (90 seconds or so), but allow for a larger timeout for actions where a user is uploading. This is just one action, so I don't mind putting code inside just that singular action rather than a generic solution.

Ultimately, a solution that would automatically increase the timeout if Request.Files.Count > 0 would be the best.

like image 919
ckknight Avatar asked Jan 21 '11 15:01

ckknight


2 Answers

I'm not sure if this would work in an MVC project, but you could try creating a location in your web.config and set the execution timeout for just your upload URL. For example:

<location path="YourUrl">
  <system.web>
    <httpRuntime executionTimeout="9001"/>
  </system.web>
</location>
like image 120
Jacob Avatar answered Oct 18 '22 18:10

Jacob


You might need to increase the timeout in web.config:

<httpRuntime executionTimeout="01:00:00" />

Now this is overridable in sub web.config files meaning that if you want to increase the timeout only for the uploading script you could write a generic HTTP handler that will handle the uploads and put it in its own subfolder with its own web.config.

like image 40
Darin Dimitrov Avatar answered Oct 18 '22 16:10

Darin Dimitrov