2015-12-01 217 views
0

我想知道web.config緩存部分是否與MVC HttpRuntime.Cache使用的緩存相同。Web.config緩存和.NET緩存

如果是,有沒有辦法分開使用它們?我想有一個10分鐘緩存我的網頁(路由)和1小時緩存我的靜態內容:HTML,CSS,JS等

這是我的.NET緩存:

HttpRuntime.Cache.Insert(
    key    : cacheKey, 
    value    : clone, 
    dependencies  : null, 
    absoluteExpiration: DateTime.UtcNow.AddMinutes(10), 
    slidingExpiration : Cache.NoSlidingExpiration, 
    priority   : CacheItemPriority.NotRemovable, 
    onRemoveCallback : null 
); 

這是我使用的web.config緩存:

[OutputCache(CacheProfile = "Cache1H")] 

這是我的web.config緩存:

<system.web> 
    <caching> 
     <outputCacheSettings> 
      <outputCacheProfiles> 
       <add name="Cache1H" duration="3600" varyByParam="none" noStore="true" location="Client" /> 
      </outputCacheProfiles> 
     </outputCacheSettings> 
    </caching> 
</system.web> 

編輯

我怎麼能重置或過期從另一個應用程序的httpRuntime緩存?比方說,我有一個網站,我想在我的管理員重置它,所以網站會更新緩存並獲得新的信息。

回答

1

兩者都是可以在MVC中使用的不同的緩存類型。

輸出緩存可用於緩存整個頁面,包括客戶端或服務器端的數據。有關詳細信息,

其他類型的緩存結帳http://www.asp.net/mvc/overview/older-versions-1/controllers-and-routing/improving-performance-with-output-caching-cs是內存緩存HttpRuntime.Cache.Insert在那裏你可以https://msdn.microsoft.com/en-us/library/system.runtime.caching.memorycache(v=vs.110).aspx

+0

但1韓元緩存使用的time.Checkout內存緩存細節一定時期鍵和值對數據不干涉其他權利?他們是不同的緩存? – Terkhos

+0

兩者都是不同的緩存。這取決於你如何使用兩個緩存。如果您只想緩存數據,則可以使用內存緩存,並且如果要緩存客戶端或服務器端的整個頁面,請使用輸出緩存。 –

+0

我正在使用他們,因爲我在我的問題中解釋,我是否能夠從另一個應用程序重置HttpRuntime緩存? – Terkhos