我的 ASP.NET 缓存是不是存储在服务器或浏览器上

Posted

技术标签:

【中文标题】我的 ASP.NET 缓存是不是存储在服务器或浏览器上【英文标题】:Does my ASP.NET cache store on server or browser我的 ASP.NET 缓存是否存储在服务器或浏览器上 【发布时间】:2012-03-26 00:45:41 【问题描述】:

在 ASP.NET 中,如果我使用:

$<%@OutputCache Duration="3" VaryByParam="*" %>

Cache.Insert("Names", mydataset);

这会将缓存存储在浏览器还是服务器上?我知道它们是两种不同的缓存方法,可能还有更多,但我试图找出缓存何时存储在客户端浏览器或服务器上,以及在哪里可以找到缓存存储之间的优缺点在其中任何一个上。

【问题讨论】:

【参考方案1】:

这个:

<%@OutputCache Duration="3" VaryByParam="*" %>

可能同时缓存在服务器或客户端,因为默认情况下OutputCache 指令的Location 值为Any。 See here 供参考。

现在,这个:

Cache.Insert("Names", mydataset);

会缓存在服务器端的应用缓存中。

【讨论】:

@lcarus 是否“可能同时缓存”意味着我有一个选择,这是由附加参数指定的? @mjroodt 是的,你可以,这就是 Location 属性的用途。见这里msdn.microsoft.com/en-us/library/hdxfb6cy(v=vs.71).aspx【参考方案2】:

这存储在服务器上。输出缓存存储页面处理后得到的html输出,服务器无需重复处理页面。

阅读更多:http://www.4guysfromrolla.com/articles/022802-1.aspx

【讨论】:

-1 不完全正确。就问题而言,OutputCache 指令也可以缓存客户端上的页面。请参阅我的答案和另一个答案上的链接:msdn.microsoft.com/en-us/library/…

以上是关于我的 ASP.NET 缓存是不是存储在服务器或浏览器上的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core中如何使用缓存

ASP.NET 和输出缓存 - 如何查看它是不是正常工作?

ASP.NET 应用程序中的浏览器缓存

ASP.NET MVC 中的数据缓存存储

WPFUWP借鉴 asp.net core 管道处理模型打造图片缓存控件 ImageEx

WPFUWP借鉴 asp.net core 管道处理模型打造图片缓存控件 ImageEx