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

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