SORU
2 EYLÜL 2010, PERŞEMBE


Ben tüm ASP.Net Web siteleri yavaş ve ne işe çalışıyorum neden sadece keşfetti

Ben sadece ASP.NET web uygulaması her istek talebi başında bir Oturum kilidi alır, ve daha sonra isteği sonunda serbest keşfetti!

Bunun etkilerini sizin için kaybolmuş durumda benim için olduğu gibi, ilk başta, bu basitçe şu anlama gelir:

  • Her zaman bir ASP.Net Web alarak uzun bir süre için yük (belki nedeniyle yavaş bir veritabanı arama ya da her neyse), ve kullanıcı karar verir istiyorlar gitmek için farklı bir sayfa çünkü onlar beklemekten, yapamazlar! ASP.NET oturum kilidi yeni sayfa isteği özgün istek acı yavaş yükleme bitinceye kadar bekleyin zorlar. Boyunu.

  • Her zaman bir UpdatePanel yavaş yükleniyor ve kullanıcı UpdadePanel... ONLAR CANT güncelleme işlemi bitmeden başka bir sayfaya gitmek için karar verir! ASP.NET oturum kilidi yeni sayfa isteği özgün istek acı yavaş yükleme bitinceye kadar bekleyin zorlar. Çift Boyunu!

Seçenekleri nelerdir? Şimdiye kadar ile geldi:

  • Destekler ASP.Net Özel bir SessionStateDataStore, uygulamak. Kopyalamak için dışarıda çok fazla bulamadım, ve bu tür yüksek riskli ve kolay için berbat görünüyor.
  • Devam eden tüm isteklerini takip edin ve eğer bir istek aynı kullanıcı gelirse, özgün istek iptal. Biraz aşırı gibi görünüyor, ama iş (sanırım).
  • Kullanımı Oturum yok! Kullanıcı için devlet bir tür ihtiyacım olduğunda, sadece Önbellek yerine kullanabilirim, kimliği doğrulanmış bir kullanıcı adı ya da bunun gibi bir şey önemli öğeleri. Yine aşırı görünüyor.

Gerçekten ASP.NET Microsoft ekibi 4.0 sürümü de bu çerçevede bu kadar büyük bir performans bırakırdı inanamıyorum! Eksik bir şey belli mi? Ne kadar zor Oturum için iş parçacığı için güvenli bir koleksiyon kullanmak için olabilir mi?

CEVAP
2 EYLÜL 2010, PERŞEMBE


Eğer sayfanızın herhangi bir oturum değişkenleri değiştirmek değilse, bu kilidi çoğu devre dışı bırakabilirsiniz.

<% @Page EnableSessionState="ReadOnly" %>

Eğer sayfanızın herhangi bir oturum değişkenleri okunur değilse, bu kilidi tamamen tercih edebilirsiniz, bu sayfa için.

<% @Page EnableSessionState="False" %>

Eğer sayfaların hiçbiri oturum değişkenleri kullanın, sadece web oturum durumunu kapatın.config.

<sessionState mode="Off" />

Merak ediyorum, sizce "iş parçacığı için güvenli bir toplama iş parçacığı için güvenli olmak için yapmaz, eğer kullanmak değil mi" kilitler?

Edit: muhtemelen kastım tarafından açıklamalıyım "bu kilit en". opt Herhangi bir sayıda-sadece-okuma ya da oturum-oturum no sayfa birbirini engellemeden aynı zamanda belirli bir oturum için işlenmiş olabilir. Ancak, okuma-yazma oturumu sayfa açamıyorum Başlat işleme kadar tüm salt okunur bir isteğiniz var tamamlandı ve çalışırken kesinlikle özel erişim için kullanıcının oturum tutarlılık sağlamak. Bireysel değerler kilitleme eğer bir sayfa bir grup olarak ilgili değerler değişirse ne işe yarar, çünkü, değil mi? Nasıl başka bir sayfada aynı anda çalışan kullanıcının oturum değişkenleri tutarlı bir görünüm elde edeceğini garanti eder misin?

Mümkünse ayarlandıktan sonra oturum değişkenleri değiştirmeyi en aza indirmek için deneyin öneriyoruz. Bu sayfa çoğunluk salt okunur oturum sayfaları, aynı kullanıcının aynı anda birden çok istekleri birbirine blok olmaz şansını artırmak için izin verecek.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FrameCityJackal

    FrameCityJac

    4 Aralık 2010
  • Joanna Okrajni

    Joanna Okraj

    4 EYLÜL 2010
  • ShayLoss

    ShayLoss

    5 Kasım 2009