Остановить выполнение кода, когда вкладка или страница закрыта asp.net?

Я публикую отчет о кристаллах, и это одна из наиболее частых ошибок, которые я получаю: если я закрываю вкладку, на которой отображается отчет, мой код продолжает работать до тех пор, пока запрос отчета о времени (LINQ) не запустится в DAL. Затем все мое приложение зависает, есть ли способ, с помощью которого я могу остановить запрос отчета о закрытой вкладке?

Мне просто нужна подсказка, чтобы сделать то же самое. Заранее спасибо, я не смог найти решение в сети, так как сомневался, что мне спросить.


person JulyOrdinary    schedule 18.05.2013    source источник


Ответы (1)


Вы просите что-то необычное, поэтому нет обычного способа сделать это..

Я бы попробовал использовать jQuery и событие выгрузки документа для отправки небольшого запроса REST (если это asp.net, то добавьте обработчик HTTP -http://support.microsoft.com/kb/308001).

Добавьте идентификатор в строку запроса запроса, а затем на своем сервере вы можете убедиться, что запрос был с IP-адреса, который соответствует идентификатору клиента, проверив Request.ServerVariables["REMOTE_ADDR"].

Затем вы находитесь на своем сервере, с идентификатором, и вы убедились, что это клиент отправил его, выгрузив страницу (закрыв вкладку/браузер). Поскольку я не знаком с кристальными отчетами, вам следует поискать, как это можно остановить: https://www.google.co.il/search?num=30&biw=1280&bih=699&q=stop+or+abort+a+crystal+report+asp.net&oq=stop+or+abort+a+crystal+report+asp.net

person Adam Tal    schedule 18.05.2013