Web Interface: upload/connection timeouts on iOS devices are independent of any actual server timeouts
<p>Current project:</p>

<ul>
<li>ASP.NET 4.5.2</li>
<li>MVC 5</li>
<li>IIS 8+ (several test servers used)</li>
<li>Web.Config:

<ul>
<li>executionTimeout="3600" (one hour)</li>
<li>maxRequestLength="2147483647" (2Gb)</li>
<li>maxAllowedContentLength="2147483647" (2Gb)</li>
</ul></li>
</ul>

<p>So I am having a very strange issue here. I have built a test site that allows a user to upload an image. This image is then processed by TinyPNG before being dumped directly into the database (a business decision - required by the specifics of the project). On any sort of a full-featured computing platform, such as Windows, MacOS or Linux, I am able to upload an image and proceed completely to the end result which shows me a list of images I uploaded within the “session” of that page (so users can see what they themselves uploaded before navigating away).</p>

<p>On iOS devices, however, this process “times out” in that Safari provides me with a “timed out” response. However, even if I upload 10 images from Safari, all 10 images actually get successfully uploaded. So I know it’s not the server that is timing out -- it’s Safari or something explicitly within iOS.</p>

<p>My research hasn’t really brought anything up. And I have confirmed this issue by physically going to a location with bad cell reception (3G service) and uploading an image that - on LTE - brought me through the full page lifecycle (no timeout). On 3G I still had a successful image upload, but the page once again “timed out”, telling me that this is an iOS issue, and not a transmission or server issue. In fact, my gut reaction is that the “iOS safari timeout” is purely related to time (a 60-second timeout by default, for example) and has nothing to do with actual server timeouts.</p>

<p>I am curious if anyone has run into this issue before, and how you got around this. I am really pulling my hair out here, because I can’t see any way to directly affect how Safari decides to “time out” on its own, and regardless of any actual server timeout.</p>