Mustafa ÖZCAN - Kişisel Web Sitesi

ASP.NET 2.0 Web Uygulamasında Alt Dizinlerin Programatik Silinmesi Sonucu Session Bilgilerinin Kaybolması

mustafaozcan - 04.06.2008 09:30:00
ASP.NET 2.0 Web Uygulamasında Alt Dizinlerin Programatik Silinmesi Sonucu Session Bilgilerinin Kaybolması

ASP.NET 2.0 Web Uygulamasında alt dizinlerden birini yada birkaçını programatik olarak sildiğinizde ASP.NET Runtime dizin ve dosyaları izleyerek uygulamanın değiştiğini düşünüp uygulamayı yeniden derliyor. Bu değişiklikleri App_Data dizininde yapsanız dahi aynı sorun devam ediyor. Tabi bu sırada oluşturululan session bilgileri de kayboluyor. Bu durum Microsoft a bug olarak iletilmiş ve şöyle bir çözüm bulunmuş.

Global.asax dosyasında  Application_Start prosedürü içine aşağıda kodu ekleyin.

PropertyInfo p = typeof(System.Web.HttpRuntime).GetProperty("FileChangesMonitor", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static);

object o = p.GetValue(null, null);

FieldInfo f = o.GetType().GetField("_dirMonSubdirs", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.IgnoreCase);

object monitor = f.GetValue(o);

MethodInfo m = monitor.GetType().GetMethod("StopMonitoring", BindingFlags.Instance | BindingFlags.NonPublic);

m.Invoke(monitor, new object[] { });

Bu kod sayesinde Root dizindeki klasör değişiklileri izlenmiyor ancak kodlarda yapacağınız değişikler ve bin dizinindeki referans değişiklikleri gibi uygulamanın çalışmasını etkileyen klasör ve dosyalar izlenmeye devam ediliyor.

 

Taglar : , , , , ,

Kategoriler : ASP.NET | İpucu (Tips & Tricks) | Web

Yorumlar (1) -

06.06.2008 01:48:06 #

Tolga Ateşer

Üstad hayırlı uğurlu olsun,burada ve senden çok faydalı bilgiler edineceğimden eminim, devamını sabırsızlıkla bekliyorum.

Tolga Ateşer | Yanıtla

Yorum ekle



  Country flag
biuquote
  • Yorum
  • Canlı önizleme
Loading






resimyok Mustafa ÖZCAN
Yazılım Geliştirici
E-mail Send mail

Reklam

Aylara Göre Yazılar

Online


Online Ziyaretçi : 47

Translate This Page

B l o g - E n g i n e