2012-03-08 35 views
3

在ASP.NET,如果我使用:请问我的ASP.NET缓存存储在服务器或浏览器

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

Cache.Insert("Names", mydataset); 

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

回答

3

此:

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

可就在这两个缓存,服务器或客户端,因为默认情况下OutputCache指令的Location价值AnySee here仅供参考。

现在,这样的:

Cache.Insert("Names", mydataset); 

将在应用程序缓存中的服务器端缓存。

+0

@lcarus does“may be缓存在两个“意味着我有一个选择,这是由一个额外的参数指定? – mjroodt 2012-03-08 14:43:51

+0

@mjroodt是的,你可以,这就是'Location'属性的用途。看到这里http://msdn.microsoft.com/en-us/library/hdxfb6cy(v=vs.71).aspx – Icarus 2012-03-08 14:45:57

2

这存储在服务器上。输出缓存存储页面处理后获得的html输出,因此服务器不需要一遍又一遍地处理页面。

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

+1

-1并非完全如此。 OutputCache指令在问题上的地位,可能会将页面缓存在客户端上。请参阅我的答案和另一个链接:http://msdn.microsoft.com/en-us/library/system.web.ui.outputcachelocation(v=vs.100).aspx – Icarus 2012-03-08 14:55:46