ASP.NET long running task ideas
<p>Very often I have to send data to and from third party accounting systems from asp.net sites using SQL server. The data imports usually take awhile and I'm trying to find the best method to handle the long running tasks with the ability to update the user if they want to see how it's doing. My questions are what are some of the pros and cons with the methods below and what do you recommend and why?</p>

<ul>
<li><p>Old style asp response.write: <em>I actually use this quite a bit and at the moment is my go to method because it's fast. I haven't really had many problems with it. I thought the app pool recycling would be an issue but I don't think it will recycle while in the middle of a request.</em></p></li>
<li><p>Using an IFrame like proposed here <a href="http://encosia.com/easy-incremental-status-updates-for-long-requests/" rel="nofollow">http://encosia.com/easy-incremental-status-updates-for-long-requests/</a>: <em>Similar to the above method except this is asynchronous.I'm not sure if this would allow an asp.net restart</em></p></li>
<li><p>A separate windows app that calls a web service from the site: <em>I have used this method but it takes a little longer to set up and will stop running when the app pool recycles. I will probably not use this method</em></p></li>
<li><p>Windows Workflow: Have not used it but seems like(especially for small data updates) would be overkill</p></li>
<li><p>Windows Service: Same as above. Seems like it would be too difficult</p></li>
<li><p>Ajax, Separate thread and timer to poll cached results: I've used this quite a bit as well but this will stop if the app pool recycles as it's on a separate thread that asp.net isn't aware of.</p></li>
</ul>
