2010-02-25 18 views
5

Yalnızca anonim kullanıcılar için önbelleğe almayı yapılandırmanın bir yolunu arıyorum. Bunu yapmamın nedeni, kullanıcıların giriş yaptıkları ve içerik oluşturdukları anda içeriği hemen görmedikleridir. Eski sistemimizde (linux/php/mysql) sadece anonim kullanıcıları önbelleğe almak için yapılandırdık ve bu bir sorun değildi.ASP.NET önbelleğini yalnızca anonim olarak yapılandırır mısınız?

Şu anda ben this post bahsediyor gibi VaryByCustom = "userName" ekleyebileceğinizi biliyor bu

<caching> 
    <outputCacheSettings> 
    <outputCacheProfiles> 
     <add name="High" duration="60" varyByParam="*" enabled="true"/> 
     <add name="Medium" duration="30" varyByParam="*" enabled="true"/> 
     <add name="Low" duration="10" varyByParam="*" enabled="true"/> 
    </outputCacheProfiles> 
    </outputCacheSettings> 
</caching> 

gibi web.config önbelleğe alma kurulum var. Ama bu benim problemimi çözmüyor. Hala kullanıcı girişini önbelleğe alır ve aynı problem vardır.

cevap

0
Sen/kaldırmak, bir kullanıcı yöntemini kullanarak üzerinde değişiklik yaptığında aşağıda gösterilen sayfayı önbellekten sona yapabilirsiniz

:

HttpResponse.RemoveOutputCacheItem("/PageJustUpdated.aspx"); 
1

James bunun bir şekilde önbelleği geçersiz kılmak için muhtemelen daha iyi anlaşılacağı gibi.

Bu şekilde, tüm kullanıcılarınız için anonim olup olmadığını bir önbellek tutuyorsunuz. Neden yöneticileriniz için yanıt vermeyi de geliştirmiyorsunuz, her şeyden sonra uygulamayı belki de en çok kullanacaklar mı?

SQL önbellek bağımlılığına baktınız mı? Bu şekilde içeriği depolayan tablo değiştirildiğinde, önbellek sizin için geçersiz hale getirilir.

http://msdn.microsoft.com/en-us/library/system.web.caching.sqlcachedependency.aspx

İlgili konular