I had an issue with large(-ish) file uploads yesterday and thought I should write up the things I needed to change, as it’s one of those things that I have to do from time to time and I invariably forget all of the settings.
This is in .net Integrated Pipeline mode – it’s different for Classic ASP.
The following two settings allow files of up to 200MB (value is in kilobytes) taking up to 10 minutes (value is in seconds). See documentation for this
<system.web> <httpRuntime executionTimeout="600" maxRequestLength="204800" /> </system.web>
You will also need to alter this setting (value is in bytes this time – see the documentation). It defaults to about 30Mb.
<system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="209715200" /> </requestFiltering> </security> </system.webServer>
My understanding is that these settings are usually kept quite low to avoid DoS attacks, and if you’re admin for a large site you should consider moving your uploads to a different server or at least a different application / application pool.
If there’s anything missing from these settings, or some nuance I’m missing, please let me know in the comments.