Kullanıcının gezinip gitmediğini iptal etmek istediğim uzun süren bir ASP yanıtı (aslında bir MVC eylemi) var. Bunun oldukça basit olması gerektiğini düşünüyorum: Response.IsClientConnected ne zaman yavaş çalışıyor?
if(!this.Response.IsClientConnected)
{
Response.End();
}
Ancak
various sources
that this method is slow başlayan rastladım.
Yani (kendi kullanabilirsiniz olsa MVC mini profiler kullanarak) kendi testler yaptık: 1ms altında benim geliştirici kurmak üzerine: Ben her aradığınızda çok hızlı tutarlı olduğunu tespit
using (var step = MiniProfiler.Current.Step("Response_IsClientConnected"))
if(!this.Response.IsClientConnected)
{
Response.End();
}
. Bu doğru ya da yanlış olup olmadığıdır.
Hangi koşullarda Response.IsClientConnected
yavaş olması bekleniyor?
IIS6'yı desteklemem gerekir - Response.IsClientConnected
daha yavaş olur mu?
Kapakların altında ne yaptığını bilen var mı? Düşük düzeyde, TCP/IP yığınının bağlantının hala devam edip etmediğini bilmesini beklerdim, bu yüzden bu kontrolün anında gerçekleşmesini beklerdim, ancak IIS'nin kontrol etmek için bazı ek çalışmalar yapması gerekiyor mu?
Harika, bu iyi bir başlangıç, ama cevap değil. Bir kez sahip olduğumda oy kullanacağım. – Keith
Sadece IIS.NET forumlarındaki EcbIsClientConnected yönteminin uygulama ayrıntılarını sordum. Umarım birisi bilir - http://forums.iis.net/t/1187030.aspx –
Şerefe, yanıtın "bununla karışma!" Faydalı: - | – Keith