HttpResponse.ClientDisconnectedToken Eigenschaft

Definition

Ruft ein CancellationToken-Objekt ab, das aktiviert wird, wenn der Client die Verbindung trennt.

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

Eigenschaftswert

Das Abbruchtoken.

Hinweise

Diese API ist threadsicher. Es gibt jedoch einige Einschränkungen für die Verwendung des Abbruchtokens. Die falsche Verwendung kann zu Racebedingungen, Deadlocks oder anderem unerwartetem Verhalten führen. Beachten Sie die folgenden Richtlinien:

  • Stellen Sie sicher, dass Sie diese API nicht außerhalb der Grenzen einer einzelnen Anforderung aufrufen, da ASP.NET das Abbruchtoken am Ende der Anforderung entsorgt. Es gibt keine Garantie, dass das Token jemals in einen abgebrochenen Zustand wechselt, bevor es verworfen wird. Wenn die Anforderung beispielsweise beendet wird, ohne dass der Client die Verbindung getrennt hat, wird das Token verworfen, ohne zuvor abgebrochen zu werden.

  • Warten Sie nicht auf , CancellationToken.WaitHandleda dies den Zweck einer asynchronen Benachrichtigung verfehlt und zu Deadlocks führen kann.

  • Rufen Sie nicht die CancellationToken.Register Überladungen auf, die den Rückruf für das ursprüngliche SynchronizationContext Objekt aufrufen.

  • Verwenden Sie nicht das HttpContext -Objekt oder andere nicht threadsichere ASP.NET systeminternen Objekte aus dem Rückruf, der der CancellationToken.Register -Methode bereitgestellt wird. Der Rückruf wird möglicherweise gleichzeitig mit anderen ASP.NET oder Anwendungscode ausgeführt.

  • Halten Sie die Rückrufmethoden kurz und nicht blockierend.

  • Unternehmen Sie alle Anstrengungen, um das Auslösen von Ausnahmen innerhalb der Rückrufmethoden zu vermeiden.

Diese Eigenschaft wird nur in IIS (Internet Information Service) 7.5 oder höher im integrierten Modus unterstützt. Wenn Sie es ohne die richtige IIS-Version oder den richtigen Pipelinemodus aufrufen, wird ein PlatformNotSupportedException ausgelöst. Um die IIS-Version zu ermitteln, verwenden Sie IISVersion. Um den Pipelinemodus zu bestimmen, verwenden Sie UsingIntegratedPipeline.

Gilt für: