2008-09-16 14 views
1

Üretim web sunucularımızın her biri, ayrı web siteleri (ASP.NET Web Uygulamaları) için kendi önbelleğini korur. Şu anda bir önbelleği temizlemek için sunucuya giriş yapıyoruz ve web.config dosyasına "dokunuyoruz".Web sayfasındaki sunucu önbelleğini uzaktan sıfırlamanın en iyi yolu nedir?

Belirli bir web uygulamasının önbelleğini sıfırlamak için uzaktan güvenli bir şekilde güvenli bir şekilde bir örneği var mı? İdeal olarak, "tüm sunucularda çalışan X uygulaması için önbelleği temizle" diyebiliriz, ayrıca "X sunucusunda çalışan uygulama X için önbelleği temizle" diyebiliriz.

Düzenlemeler/Açıklamalar:

  • muhtemelen uygulamanın kendisinden aracılığıyla bunu belirli bir sayfanın veya işleyicisi için bir seçenek (uygulamaya giriş günlüğünün yani bir çeşit, sörf gerçekten olmadığını açıklamalı olmalı önbelleği temizler). Böyle bir şey yapabilmek için, günlüğe kaydetme ve istatistik izleme kodunu devre dışı bırakmak/atlamak veya istatistiklerimizi dağıtmak zorundayız.

  • Evet, önbellek düzenli olarak sona eriyor. Ancak yapmak istediğim şey, bir şeyleri kurmaktır. Bu nedenle, belirli bir önbelleği talep üzerine sürdürebilirim, genellikle veritabanındaki bir şeyi değiştirdikten sonra (SQL 2000 kullanıyoruz). Bunu şimdi yapabiliriz, ancak sadece sunuculara giriş yaparak.

cevap

1

yararlı bakmak dokunmatik faydasına ilişkin bir DevX makale bulundu.

Bunu veritabanındaki bir tabloyla (bir kayıt ekleme ve dokunma yardımcı programı bulur ve uygun web.config dosyasını güncelleştirir) veya bir web hizmetiyle (çağrı yapmak ve dokunma yardımcı programını kullanarak) birleştirmeyi deneyeceğim uygun web.config dosyasını güncellemek için çağrılır)

0

Bu "zarif" olmayabilir, ancak bir toplu iş komut dosyasını yürüten zamanlanmış bir görev ayarlayabilirsiniz. Komut dosyası, sizin için web.config (veya bir yeniden derlemeye neden olan başka bir dosya) temelde "dokunacaktır".

Aksi takdirde, uygulama önbelleği N dakika sonra sona erecek şekilde ayarlanmamış mı?

1

Her uygulama için, önbellek/uygulama verilerini öldürmek için biraz cache-dump.aspx komut dosyası yazabilirsiniz. Tüm uygulamalarınıza kopyalayın ve aramayı yönetmek için bir hub komut dosyası yazın.

Güvenlik için, her türlü kimlik doğrulama araması veya IP denetimi ekleyebilirsiniz. İşte

yolu

yapmam gerçek app-damping:

Context.Application.Lock() 
Context.Session.Abandon() 
Context.Application.RemoveAll() 
Context.Application.UnLock() 
İlgili konular