приложение Сеть:Aborting запрос от клиента ISAPI:
Запуск приложения Delphi ISAPI под IIS 7.5/сервер 2008R2 - 32 битный режим и классический режим трубопровода.
Приложение ISAPI (TISAPIApplication) построено с использованием Delphi XE.
Клиент является Delphi EXE, который генерирует XML-документ, содержащее содержание запроса, в том числе уникального внутреннего идентификатора, генерируемый на стороне клиента для отслеживания контента запроса и т.д.
Клиента порождает поток и попадет в приложении ISAPI на webServer, передающий XML-документ, содержащий информацию о запросе;
Клиентский поток ждет ответа сервера и сигнализирует клиенту о завершении потока, указав, что запрос обработан на сервере.
Проблема:
Пользователь по ошибке отправляет запрос, который имеет потенциал для запуска в течение нескольких часов и/или задушить нашу инфраструктуру.
Я хочу, чтобы клиентское приложение отправляло сообщение серверу, чтобы прервать этот запрос (ТОЛЬКО этот запрос).
Предлагаемое решение:
Мое предложенное решение заключается в создании словаря на WEBSERVER связывая мой стороне клиента уникальный идентификатор с определенной ручкой или ID для потока, который генерируется на стороне сервера по процессу ISAPI для обработки запроса. Этот идентификатор стороны сервера впоследствии может использоваться для отслеживания и прервать запрос, если это необходимо, когда клиент отправляет запрос на прерывание с использованием идентификатора стороны клиента.
НО - Я не знаю, что свойство/Автор-ID/ручка я должен хватать на стороне сервера, как добраться до него, и как использовать его, чтобы прервать запрос. Если я могу получить доступ к обработчику запросов в виде потока Delphi, все это должно быть достаточно простым.
Кто-нибудь знает, как это сделать? Я совершенно уверен, что это можно сделать, но я точно не знаю, как это сделать. Осмотрите в документах Delphi XE на TWebRequest
и т. Д., Пока не нашли многого.
Опять же, обратите внимание: мне нужно убить ТОЛЬКО этот конкретный запрос, а не весь процесс ISAPI - я не хочу отменять любые другие ожидающие запроса запросы.