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 对象调用回调的重载。

  • 请勿在提供给 CancellationToken.Register 方法的HttpContext回调中使用 对象或其他非线程安全 ASP.NET 内部对象。 回调可能与其他 ASP.NET 或应用程序代码同时运行。

  • 使回调方法保持短运行和非阻塞。

  • 尽一切努力避免从回调方法中引发异常。

此属性仅在集成模式下的 Internet Information Service (IIS) 7.5 或更高版本中受支持。 如果在没有正确的 IIS 版本或管道模式的情况下调用它, PlatformNotSupportedException 则会引发 。 若要确定 IIS 版本,请使用 IISVersion。 若要确定管道模式,请使用 UsingIntegratedPipeline

适用于