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.

Применяется к