My ASP.NET (3.5) app allows users to run some complex queries that can take up to 4 minutes to return results.
When I'm doing a long loops of code, I'll check Response.IsClientConnected()
occasionally so I can end the page if the user closes their browser or hits the stop button.
But when querying SQL Server, my .NET code is blocked at the call to GetDataReader()
.
Is there a straightforward way to do GetDataReader() asynchronously so I can wait around for it but still check, say, every 5-10 seconds to see if the user is still connected, and bail on the database query if they've left?
Or is there some other alternative I'm not thinking of?