В настоящее время это невозможно при размещении ASP.NET Core до 2,1 (или более конкретно позади) IIS, отмена или потеря соединения не будут переданы приложению ASP.NET Core.
Сейчас он работает только при размещении / экспонировании напрямую через Kestrel или HTTP.SYS (ранее известный как Weblistener).
В ASP.NET Core 2.2 (из preview3 и более поздних версий) модуль AspNetCoreModule был обновлен для поддержки этой функции. Однако он ограничен хостингом IIS и не будет работать, когда IIS выступает в качестве простого обратного прокси.
См. Блог ASP.NET Core 2.2-preview3 .
Мы добавили поддержку способности обнаруживать разъединения клиента, когда вы используете новую модель внутрипроцессного хостинга IIS. Токен отмены HttpContext.RequestAborted
теперь срабатывает при отключении клиента.
Однако имейте в виду, что хотя внутрипроцессная работа повышает производительность и снижает накладные расходы, это также означает, что вы можете иметь только одно приложение на пул приложений, размещенное как незавершенное, если я правильно помню.