Мое приложение ASP.NET (3.5) позволяет пользователям выполнять сложные запросы, для возврата которых может потребоваться до 4 минут.
Когда я делаю длинный цикл кода, я иногда проверяю Response.IsClientConnected()
, чтобы я мог завершить страницу, если пользователь закрывает свой браузер или нажимает кнопку остановки.
Но при запросе к SQL Server мой код .NET блокируется при вызове GetDataReader()
.
Есть ли простой способ сделать GetDataReader () асинхронно, чтобы я мог ждать его, но все равно проверять, скажем, каждые 5-10 секунд, чтобы увидеть, все ли еще пользователь подключен, и вызывать запрос базы данных, если уехали?
Или есть какая-то другая альтернатива, о которой я не думаю?