存储在ASP.NET中的缓存信息在哪里?

时间:2010-11-13 12:43:57

标签: c# .net asp.net caching

我正在开发一个网站,我想实现缓存以提高其性能。

如果我使用

<@ OutputCache Duration="20" VaryByParam="None"> 

我的页面将存储在哪里?在客户端或服务器上?如果它存储在客户端,它存储在哪里?

我可以缓存母版页吗?

2 个答案:

答案 0 :(得分:2)

您可以结帐documentation。根据它,缓存位置的默认值是Any,这意味着:

  

输出缓存可以位于   浏览器客户端(请求的位置)   发起的),在代理服务器上(或任何   其他服务器)参与   请求,或在服务器上   请求已处理。这个值   对应于   HttpCacheability.Public枚举   值

就缓存主服务器而言,您无法将OutputCache指令放入母版页。您可以通过在所有内容页面中启用缓存来以编程方式执行此操作。

答案 1 :(得分:2)

如果未指定位置,则输出缓存指令将至少将其存储在服务器上。它还允许允许(通过标头)中间代理和客户端在他们选择时进行缓存。*

由消费客户决定a)选择是否尊重缓存头和b)缓存的位置。对于大多数浏览器,它通常位于“Internet临时文件”或某些等效文件中。

*这更像是代理或客户端缓存的“建议”,因为它最终取决于它们。