Compartilhar via


HttpResponse.ClientDisconnectedToken Propriedade

Definição

Obtém um objeto CancellationToken que é disparado quando o cliente se desconecta.

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

Valor da propriedade

CancellationToken

O token de cancelamento.

Comentários

Essa API é thread-safe. No entanto, há algumas restrições sobre como o token de cancelamento deve ser usado. Usá-lo incorretamente pode levar a condições de corrida, deadlocks ou outro comportamento inesperado. Tenha em mente as seguintes diretrizes:

  • Verifique se você não chamar essa API fora dos limites de uma única solicitação, pois ASP.NET descartará o token de cancelamento no final da solicitação. Não há garantia de que o token fará a transição para um estado cancelado antes de ser descartado. Por exemplo, se a solicitação for concluída sem que o cliente tenha se desconectado, o token será descartado sem ter sido cancelado primeiro.

  • Não espere, CancellationToken.WaitHandlepois isso derrota a finalidade de uma notificação assíncrona e pode causar deadlocks.

  • Não chame as CancellationToken.Register sobrecargas que invocam o retorno de chamada no objeto original SynchronizationContext .

  • Não use o HttpContext objeto ou outros objetos não thread-safe ASP.NET intrínsecos de dentro do retorno de chamada fornecido ao CancellationToken.Register método. O retorno de chamada pode estar sendo executado simultaneamente com outros ASP.NET ou código do aplicativo.

  • Mantenha os métodos de retorno de chamada em execução curta e sem bloqueio.

  • Faça todos os esforços para evitar lançar exceções de dentro dos métodos de retorno de chamada.

Essa propriedade só tem suporte no IIS (Serviço de Informações da Internet) 7.5 ou superior no modo integrado. Se você invocá-lo sem a versão certa do IIS ou o modo de pipeline, um PlatformNotSupportedException será gerado. Para determinar a versão do IIS, use IISVersion. Para determinar o modo de pipeline, use UsingIntegratedPipeline.

Aplica-se a