甜甜圈缓存教程

问题描述:

有人可以指出几个优质的教程/页面的甜甜圈缓存?与网络上的其他所有内容一样,您可以在Google上搜索一百万条内容,但是我发现的一些文章有点令人困惑。甜甜圈缓存教程

我在寻找

  1. 什么是甜甜圈缓存
  2. 当你应该使用它
  3. 你如何在ASP.net

甜甜圈缓存,您缓存页面上的每一件事情,除了少数有活力的区域。 所以你缓存甜甜圈,但不是洞。

当大部分页面是静态而不是1个可变部分时,您应该使用它。

您应该阅读this的实施建议。

+1

我一直认为是相反的:你缓存洞(或果酱,取决于doughtnut的类型:-))并使用替换控件来改变外面的东西。这取决于你的页面布局以及你想要构建的页面中最贵的位置。 – PhilPursglove 2009-11-03 16:15:51

+0

谢谢。我认为这个概念的最初解释是我错过的。没有一篇文章(下面列出)真正从高层开始并向下钻取。你在实施和特定的图书馆中开始深入研究。 – 2009-11-03 16:45:40

+0

@PhilPursglove,你在想“甜甜圈保持缓存”:-P http://haacked.com/archive/2009/05/12/donut-hole-caching.aspx – 2009-11-04 14:34:28

实现我不知道您将通过使用stackoverflow作为人力搜索引擎来获得更好的结果。老实说,任何人在这里会后会从搜索引擎查询来采购像这样的:

http://www.bing.com/search?q=asp.net%20donut%20caching

  1. 文章Phil Haack(asp.net的MVC)
  2. 文章ScottGu上asp.net weblogs
  3. 实施甜甜圈缓存上wackylabs

而这一切都与一个google search

我不知道我会尽可能称它为好的教程,但如果你看this video有一个如何在约36分钟内写缓存甜甜圈一个简短的演示

如何做到这一点归结为:
添加output caching到您的网页。
决定在返回给客户端之前需要注入缓存页面的项目。
对于每个项目,创建一个static(在VB中为Shared)方法,该方法返回例如

Public Shared Function LoginName(ByVal context As HttpContext) As String 

    Return "Welcome, " & context.User.Identity.Name 

End Function 

添加Substition控制到您的网页中的每个项目,这就要求您刚刚创建的方法的适当位置。

<asp:Substitution runat="server" ID="LoginNameSubstitution" MethodName="LoginName" /> 

你完成了!