HttpResponse.ClientDisconnectedToken Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает объект, споткнутый CancellationToken при отключении клиента.
public:
property System::Threading::CancellationToken ClientDisconnectedToken { System::Threading::CancellationToken get(); };
public System.Threading.CancellationToken ClientDisconnectedToken { get; }
member this.ClientDisconnectedToken : System.Threading.CancellationToken
Public ReadOnly Property ClientDisconnectedToken As CancellationToken
Значение свойства
Маркер отмены.
Комментарии
Этот API является потокобезопасной. Однако существуют некоторые ограничения на использование маркера отмены. Использование его неправильно может привести к условиям гонки, взаимоблокировкам или другому неожиданному поведению. Имейте в виду следующие рекомендации:
Убедитесь, что вы не вызываете этот API за пределами границ одного запроса, так как ASP.NET будет удалять маркер отмены в конце запроса. Маркер никогда не будет переходить в отмененное состояние перед удалением. Например, если запрос завершается без отключения клиента, маркер будет удален без первого отмены.
Не подождите, CancellationToken.WaitHandleтак как это побеждает назначение асинхронного уведомления и может привести к взаимоблокировкам.
Не вызывайте CancellationToken.Register перегрузки, которые вызывают обратный вызов исходного SynchronizationContext объекта.
Не используйте объект HttpContext или другие непотокобезопасные ASP.NET встроенные объекты из обратного вызова, предоставленного методу CancellationToken.Register. Обратный вызов может выполняться параллельно с другими ASP.NET или кодом приложения.
Оставьте методы обратного вызова короткими и неблокирующими.
Сделайте все возможное, чтобы избежать возникновения исключений из методов обратного вызова.
Это свойство поддерживается только в службах IIS 7.5 или более поздних версий в интегрированном режиме. Если вызвать его без правильной версии IIS или режима конвейера, PlatformNotSupportedException создается исключение. Чтобы определить версию IIS, используйте IISVersion. Чтобы определить режим конвейера, используйте UsingIntegratedPipeline.