2009-06-10 12 views
13

Genellikle İstemci Bağlantısı Kesildi iletisi alıyorum. Yük dengeleme kullanmıyorum - sadece tek bir IIS sunucusu. Buna neyin neden olduğunu ve nasıl düzeltileceğini bilmem gerek. İşte İstemci Bağlantı Kesildi

istisna bilgileri geçerli:

Type: System.Web.HttpException 
Message: The client disconnected. 

Exception Data: 

Source: System.Web 

TargetSite: Void ThrowError(System.Exception, System.String, System.String, Boolean) 

StackTrace: 
    at System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) 
    at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) 
    at System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) 
    at System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) 
    at System.Web.UI.HiddenFieldPageStatePersister.Load() 
    at System.Web.UI.Page.LoadPageStateFromPersistenceMedium() 
    at System.Web.UI.Page.LoadAllState() 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
+0

FWIW, bakar .. ununderstood neden IIS böyle terkedilmiş isteği hiç ASP.NET ulaşmasına izin vermez olduğunu kalır: http://stackoverflow.com/questions/809413/what-might-neden-thethe-client-disconnected-asp-net-exception –

+1

@ ChrisW.Rea Evet, ancak bu, diğerinin özellikle yük dengelemesinden bahsedildiği tek bir IIS sunucusunu belirtir. Aradığım cevap, bu soru üzerine, diğeri değil. – Michael

cevap

1

Kullanıcıların tarayıcı STOP veya RELOAD tıklayarak sayfa sonrası geri iptal ediyoruz olması mümkündür. Uygulamanızın oldukça ağır bazı sayfaları var mı? çok sayıda görünüm ve daha yavaş bağlantılarda olan kullanıcılarınız var mı? çevirmek?

+0

Bu, olan şey değil. Tüm yerel bağlantılar 100MB/1GB'dir ve bu birçok farklı sayfada gerçekleşir. Çok sayıda gösterim kullanırız ve bunun etrafında etkili bir yol yoktur. Sorun neredeyse rastgele ortaya çıkıyor gibi görünüyor. –

+0

Bu hatayı gerçekten durdurmaya gereksinim duyduğunuz kullanım durumu nedir? –

8

Bu istisnayı da alıyoruz ve tamamen tekrarlanabilir bir şekilde elde ediyoruz. Bu istisna, ViewState "büyük" hale geldiğinde ve kullanıcı, önceki bir istek tamamlanmadan önce bir düğmeyi tıklattığında atılır ...

Durumumuzda, bu çok kolay oluyor çünkü geri bildirim ajax kullanıyor, dolayısıyla tarayıcı yok ViewState sunucuya gönderilirken yanıt vermiyor. Bu kontrole tıkladığınızda istisna tekrar tekrar başlar.

+0

Bu, neden böyle olduğunu açıklar. Bu tür sorunların nasıl giderileceği, eğer müşteri gereksinimi sizin belirttiğiniz gibi ise, ya da bunu görmezden gelebiliriz? – Ajay

+0

ViewState'in etkisini azaltmak için birkaç yol vardır. Bir yol kendi görüntüleyici sağlayıcınızı oluşturmak ve kablo üzerinden göndermeyi bırakmaktır. Bir diğeri onu devre dışı bırakmak ve sayfa işlevini onsuz yapmak için yapmak. En büyük yol ve yönettiğimiz yol, sayfalarınızı MVC'ye taşımaktır. –

2

Bu, sayfanızın son kullanıcının yanıtı beklemeden çok sayıda kısmi geri göndermeye izin verdiği durumlarda da olur. Anlamı, Bir satırda bir tıklama kısmi bir geri gönderme yaptığı ve ona bu satırın ayrıntılarını gösteren bir tablo varsayalım. Şimdi kullanıcı bir satır ve ayrıntıları beklemeden, başka bir satır tıklarsa ... Bu istisna meydana gelme şansı var.

Yeni bir uyumsuz istek olduğunda, ASP.NET AJAX zaten yürütme isteğini iptal eder.

Ancak ne benzer bir soru zaten var gibi

İlgili konular