ASP.NET: получить все текущие / запущенные запросы и напрямую прервать / остановить запрос - PullRequest
0 голосов
/ 24 марта 2011

Контекст: у нас очень большое приложение ASP.NET Web Forms, и некоторые страницы / модули очень «тяжелые», и обработка этого запроса занимает очень много времени.Таким образом, проблема в том, что если вы нажали не на то меню, чтобы загрузить страницу, вам придется долго ждать.Решение состоит в том, чтобы обновить браузер (F5 или изменить URL), но я прав, что сервер все еще обрабатывает свой запрос до определенного времени?

Чем больше проблема с F5 в нашем приложении, так это тем, что мыне сохраняйте все состояния (большое количество iframes и т. д.), поэтому пользователю нужно начать заново.

Моя идеальная ситуация: получить список всех текущих / текущих запросов и отменить тот, который вы хотите остановить.прямо из обработки.(возможно ли это вообще? Что, если он находится в середине блока кода, может ли он завершить поток или что-то? Нужен ли IIS?)для всех объектов HttpContext.Это будет работать, но, вероятно, не лучшее решение.И для остановки запроса я попробовал Response.End (), но затем я получил полный белый экран, есть ли лучшие способы селективного прерывания запроса?

1 Ответ

1 голос
/ 24 марта 2011

Вы можете проверить HttpResponse.IsClientConnected и завершить обработку, если false, проверьте условия, при которых флаг true, чтобы убедиться, что он будет работать для вас http://msdn.microsoft.com/en-us/library/system.web.httpresponse.isclientconnected.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...