Our MVC3 front-end web application uses AsyncController because each of our instances serves many hundreds of lengthy IO-bound processes.
Since Azure will terminate “inactive” http sessions after some predetermined interval (which seems to vary depending on which website you are reading on), how can we keep in touch on the web?
Our customers MUST stay connected and our processes will run from 30 seconds to 5 minutes or more. How can we keep in touch with the client? I initially thought about having a timeout in the Async method and just hit the Response object with a few bytes of output, sort of blocking the response, and then came back and expected a bit more. However, I don't think this will work, since MVC3 handles connecting the IIS thread to an asynchronous response that already displayed the view at that time.
How can we run a very lengthy process on AsyncController but not disconnect the client from Azure load balancing? Sending an immediate response to the caller and requesting that the caller to poll or verify another resource URL is unacceptable.
source
share