Best way to download a file that takes a long time to be created on the server
<p>I'm working on a ASP.NET MVC app where we have a requirement to produce PDF reports. The generation of these PDF reports on the back-end can take a long time (over 30 seconds). Our company uses a proxy called squid which will timeout any HTTP requests taking more than 30 seconds.</p>

<p>Because of the above, requesting a pdf report directly via a link or a get request will timeout.</p>

<p>How do I get around this? Is there a way to deliver files asynchronously? Or do I have to use a more elaborate protocol where the client requests the files and then polls the server at regular intervals to see if the file has been produced, before requesting it again for download when ready?</p>