asp.net - Is ThreadAbortException to be expected in a HTTP handler on Windows Azure? -


I have an ASP.NET HTTP handler hosted on Windows Azure in a" small "calculation example. It handles downloads and uploads of large binary files. There is nothing that runs within the web role, and 2 examples are configured according to the guidelines. Is a computer with a download slow connection and I tried downloading several at once to bandwidth throttle on the client side, sometimes I have a ThreadAbortException handler, most often during a time .Write to Response.OutputStream (I set Response.BufferOutput = false before) for. The stack trace is as follows:

  System.Threading.ThreadAbortException: Thread was being aborted. System.Web.Hosting.UnsafeIISMethods.MgdExplicitFlush (IntPtr reference System.Web.HttpWriter.WriteFromStream) on System.Web.HttpResponse.Flush (Boolean finalFlush) on System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush () (byte [] data, Int32 offset, Int32 size) at MyHandler.ProcessGetRequest (HttpContext context) (HttpContext context) at MyHandler.ProcessRequest   

( Stream.Write calls apparently So it is not shown in stack trace).

Why is the thread being aborted? I'm guessing I'm hitting some kind of timeout (possibly ending time in a socket), a common way for thread ASP.NET sequence is being aborted to handle it?

Note that it is not I touch anywhere in a single HTTP handler, not a .aspx / .cshtml page or MVC controller, and my code Response.End , Response.Redirect or Server.Transfer .

Whe you try to read or upload large files, IIS request stream and that it blocks The reason for the IIS for 5 minutes will ultimately be to throw ThreadAbortException

Try to play with this line.

  & lt; HttpRuntime maxRequestLength = "2,097,150" executionTimeout = "3600" />   

Also try these suggestions:

Comments