2
我們有一堆那得到真正的高流量網頁,因此我們已在web.config中如下:是否有可能通過asp.net mvc中的成員身份進行緩存?
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="defaultCache" duration="900" varyByParam="*" location="Any"/>
</outputCacheProfiles>
</outputCacheSettings>
</caching>
和必要的控制方法如下屬性:
[OutputCache(CacheProfile = "defaultCache")]
這爲我們提供了很好的服務,因爲正常用戶和管理員角色的緩存頁面之間沒有交集。但是現在我們已經實現了一個CMS,其中如果用戶以管理員角色登錄,則將CMS的界面呈現爲大多數頁面。但是,我們發現當前的緩存策略現在不適合我們,因爲管理內容正在緩存並提供給普通用戶。
那麼,有沒有辦法按角色緩存?這甚至有可能在頁面的url保持不變但內容根據登錄角色而改變的情況下?通過向所有相關頁面添加類似「admin = true」的內容來改變網址會更好些,因此我們緩存配置文件中的varyByParam="*"
屬性可以完成其工作?
謝謝。