Web.config缓存和.NET缓存

时间:2015-12-01 11:42:20

标签: asp.net asp.net-mvc caching

我想知道web.config缓存部分是否与MVC HttpRuntime.Cache使用的缓存相同。

如果是,有没有办法单独使用它们?我想为我的网页(路线)设置 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 个答案:

答案 0 :(得分: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

检查内存缓存详细信息