HttpResponse.ClientDisconnectedToken Özellik

Tanım

İstemci bağlantısı kesildiğinde atlayan bir CancellationToken nesne alır.

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

Özellik Değeri

İptal belirteci.

Açıklamalar

Bu API iş parçacığı açısından güvenlidir. Ancak, iptal belirtecinin nasıl kullanılması gerektiğine ilişkin bazı kısıtlamalar vardır. Bunu yanlış kullanmak yarış koşullarına, kilitlenmelere veya diğer beklenmeyen davranışlara yol açabilir. Aşağıdaki yönergeleri göz önünde bulundurun:

  • ASP.NET isteğin sonunda iptal belirtecini atacağından, bu API'yi tek bir isteğin sınırları dışında çağırmadığınızdan emin olun. Belirtecin atılmadan önce iptal edilmiş duruma geçeceğinin garantisi yoktur. Örneğin, istek istemcinin bağlantısı kesilmeden biterse, belirteç önce iptal edilmeden atılır.

  • Üzerinde beklemeyin CancellationToken.WaitHandle, çünkü bu zaman uyumsuz bir bildirimin amacını yener ve kilitlenmelere neden olabilir.

  • Özgün SynchronizationContext nesnede CancellationToken.Register geri çağırmayı çağıran aşırı yüklemeleri çağırmayın.

  • yönteminin sağladığı CancellationToken.Register geri çağırmanın HttpContext içinden nesnesini veya iş parçacığı güvenli olmayan diğer ASP.NET iç nesneleri kullanmayın. Geri arama diğer ASP.NET veya uygulama koduyla eşzamanlı olarak çalışıyor olabilir.

  • Geri çağırma yöntemlerini kısa süreli ve engelleyici olmayan şekilde tutun.

  • Geri çağırma yöntemlerinin içinden özel durumlar oluşturmaktan kaçınmak için her zaman çaba sarf edin.

Bu özellik yalnızca Internet Information Service (IIS) 7.5 veya üzeri sürümlerde tümleşik modda desteklenir. Doğru IIS sürümü veya işlem hattı modu olmadan çağırırsanız, bir PlatformNotSupportedException oluşturulur. IIS sürümünü belirlemek için kullanın IISVersion. İşlem hattı modunu belirlemek için kullanın UsingIntegratedPipeline.

Şunlara uygulanır