IIS:Прервать работу обработчика при закрытии клиентского соединения

StackOverflow https://stackoverflow.com/questions/1667652

Вопрос

У меня есть обработчик, который выполняет некоторую тяжелую работу с изображениями.Это выглядит как http://example.com/webservice.ashx?imageparam1=100&imageparam2=200

Каждый запрос к этому обработчику занимает около 2-3 секунд.

Мне нужен способ прервать генерацию изображения, если клиент закрывает соединение (т.е.закройте страницу или отправьте запрос на другое изображение).

Есть ли способ сделать это?

Это было полезно?

Решение

Ты должен наблюдать IsClientConnected свойство HttpContext.Response объект.Когда оно изменится на false, отмените генерацию изображения.

Я не могу предложить больше идей, так как это зависит от того, как вы создаете образ.Я могу только посоветовать создать отдельный поток генерации, который может быть прерван из основного потока, который периодически проверяет соединение.Кроме того, ресурсы генератора должны быть каким-то образом очищены, и это может быть серьезной проблемой, увеличивающей сложность решения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top