如何缓存asp.net网站以获得更好的性能

如何缓存asp.net网站以获得更好的性能,asp.net,performance,caching,Asp.net,Performance,Caching,我是一名网页设计师,通常设计不需要更新的公司网站。所以我想把输出缓存一天。我该怎么做 此外,对于asp.net在速度较慢的服务器上提供更好性能的任何建议都可以接受。您可以使用outputcache指令 编写高性能Web应用程序的10个技巧 我建议您遵循此规则,以提高总体性能 如果您为firebug安装YSlow,它将为您验证所有这些规则 特别是关于缓存,我建议您阅读本教程。缓存是一个非常广泛的主题,要用10行文字解释所有内容并不容易:-) 特别是谈到ASP网页的输出缓存指令,它的使用非常简

我是一名网页设计师,通常设计不需要更新的公司网站。所以我想把输出缓存一天。我该怎么做


此外,对于asp.net在速度较慢的服务器上提供更好性能的任何建议都可以接受。

您可以使用outputcache指令

编写高性能Web应用程序的10个技巧


我建议您遵循此规则,以提高总体性能

如果您为firebug安装YSlow,它将为您验证所有这些规则

特别是关于缓存,我建议您阅读本教程。缓存是一个非常广泛的主题,要用10行文字解释所有内容并不容易:-)

特别是谈到ASP网页的输出缓存指令,它的使用非常简单。这是你的参考资料


但是,请考虑这一点,这一点对于页面以及css、JS和图像等其他资源使用缓存非常重要。

请注意,ASP.NET缓存有一个自1.0版,可以有效地禁用客户端缓存。
这就是为什么后来添加该方法作为解决方法的原因。 开发人员应该使用它,但不幸的是,似乎很少有人知道上述方法。
作为响应,该行为在ASP.NET 4.0中发生了更改,详情如下:

在ASP.NET 1.0中,一个错误导致指定Location=“ServerAndClient”作为输出的缓存页面在响应中发出Vary:*HTTP头。这会告诉客户端浏览器永远不要在本地缓存页面

在ASP.NET 1.1中,添加了System.Web.HttpCachePolicy.SetOmitVaryStar方法,您可以调用该方法来抑制Vary:*标题。之所以选择此方法,是因为更改发出的HTTP头在当时被认为是一个潜在的破坏性更改。然而,开发人员对ASP.NET中的行为感到困惑,错误报告表明开发人员不知道现有的SetOmitVaryStar行为

在ASP.NET4中,决定修复根本问题。Vary:*HTTP标头不再从指定以下指令的响应发出:

因此,不再需要SetOmitVaryStar来抑制Vary:*标题

在页面上的@OutputCache指令中指定Location=“ServerAndClient”的应用程序中,您现在将看到Location属性值的名称所隐含的行为–也就是说,页面将可以在浏览器中缓存,而无需调用SetOmitVaryStar方法

如果应用程序中的页面必须发出命令,请调用AppendHeader方法,如下例所示:

HttpResponse.AppendHeader(“Vary”、“*”)

或者,您可以将“输出缓存位置”属性的值更改为“服务器”


谢谢你的回答。我将开始在我的Asp.Net 4应用程序中使用缓存。请不要链接到解决方案,因为它们会过时,如上面的链接