看个例子: 在ASP.NET 1.x 中page level的代码: <%@ outputcache duration=”3600” varybyparam=”ProdID” %> 在ASP.NET 2.0 中的page level的代码: <%@ outputcache duration=”3600” varybyparam=”ProdID” sqldependency=”Northwind:
<%@ OutputCache Duration="60" VaryByParam="*" %> 如同其他页面指令一样,该指令应该出现在 ASPX 页面的顶部,即在任何输出之前。 VaryByParam 必需属性。Request 中变量的名称,这些变量名应该产生单独的缓存条目。"none" 表示没有变动。"*" 可用于为每个不同的变量数组创建新的缓存条目。 利用必需的 Duration 和 VaryByParam 选项的组合可以处理大多数情况。 <%@ OutputCache Duration="60" VaryByParam="None" VaryByCustom="browser" %> 片段缓存,用户控件输出缓存 缓存整个页面通常并不可行 如果指定了 VaryByControl,可以省略 VaryByParam。最后,在默认情况下,对每个页面上的每个用户控件都单独进行缓存。
outputCacheProfiles> 11: <add name="default" 12: duration="60" 13: varyByParam 代表缓存时间的duration属性被设置为60,意味着缓存项在被存储之后1分钟之后实失效;属性varyByParam被设置为none表示缓存项与请求的查询字符串无关。 应用在操作方法GetCurrentTime上的AspNetCacheProfileAttribute特性中指定的名称为default的CacheProfile定义在该配置中,duration和varyByParam outputCacheSettings> 14: <outputCacheProfiles> 15: <add name="default" duration="60" varyByParam
加入你使用“输出缓存”并应用一个VaryByParam UserID来做缓存处理,那么整个页面会为每个访问用户生成缓存,但是这当我们有很大量的登陆用户是就不是一个好的缓存方式了。 public class HomeController : Controller { [DonutOutputCache(Duration = 60,VaryByParam="username
[OutputCache(Duration = 300,VaryByParam=”id”)] 此种方式,指明了缓存是针对哪个参数来做的,即只有当id参数值发生变化的时候,才做缓存,其他机制同第一种. 3 outputCacheProfiles> </outputCacheSettings> </caching> 使用: [OutputCache(CacheProfile="Short", VaryByParam
outputCacheProfiles> 11: <add name="default" 12: duration="60" 13: varyByParam 代表缓存时间的duration属性被设置为60,意味着缓存项在被存储之后1分钟之后实失效;属性varyByParam被设置为none表示缓存项与请求的查询字符串无关。 应用在操作方法GetCurrentTime上的AspNetCacheProfileAttribute特性中指定的名称为default的CacheProfile定义在该配置中,duration和varyByParam outputCacheSettings> 14: <outputCacheProfiles> 15: <add name="default" duration="60" varyByParam
使用此特性的时候要注意:子操作的 OutputCacheAttribute 仅支持 Duration、VaryByCustom 和 VaryByParam 值。 get; set; } //是否存储缓存 public bool NoStore { get; set; } //获取或设置基于参数变化的值 public string VaryByParam
2.带参数的缓存 [OutputCache(Duration = 60, VaryByParam = "id")] public ActionResult Index2(int id) { 3.多个参数的缓存 [OutputCache(Duration = 3600, VaryByParam = "author;postname")] public ActionResult Blog(string
带参数缓存 [OutputCache(Duration = 100, VaryByParam = "id")] [OutputCache(Duration = 100, VaryByParam = "
class HomeController : Controller { [OutputCache(Duration = 20, VaryByParam = "none")] public ActionResult 如果你想通过OutputCache(VaryByParam=UserID)来为所有用户缓存主页,那么整个页面将会为每个用户分别缓存。
第一想到的就是使用cache,单只能解决第二次访问的速度问题,对少有点用,我一般会这样做,设置的方法有 添加outputcache 例如: [OutputCache(Duration = 360, VaryByParam _response.AddHeader("Content-Length", "0"); } } } //[OutputCache(Duration = 360, VaryByParam
} 五、NonAction 当前方法仅是普通方法不解析为Action 六、OutputCache 为Action添加缓存 [OutputCache(Duration = 60, VaryByParam
Server|None" VaryByControl="ControlName" VaryByCustom="browser|customstring" VaryByHeader="headers" VaryByParam
[OutputCache(Duration = 1200, VaryByParam = "none")] [ChildActionOnly] public PartialViewResult Create userList.Items, "Id", "Name"); return PartialView("_CreateTask"); } [OutputCache(Duration = 1200, VaryByParam
u VaryByParam:用于指明是否缓冲的判断依据。例如,如果第一个用户查询的是北京的天气,则缓冲中存储了北京市的天气。
OutputCacheTest.IamUserControl" %> <%@ OutputCache Duration="3000" ProviderName="AspNetInternalProvider" VaryByParam
对于它们各自应用缓存时的表现做一个对比(SqlDependency使用SqlServer 2000的轮询机制): 缓存名称 基于拼装SQL筛选 基于业务对象筛选 OutputCache VaryByParam OutputCache VaryByParam="*" Duration="999999" SqlDependency="Northwind
Explain <@OutputCache%> and the usage of VaryByParam, VaryByHeader. How does VaryByCustom work? 解释 <@OutputCache%>和如何使用VaryByParam、VaryByHeader. VaryByCustom是如何工作的? 如何通过q=?
要为不同的Web用户控件选择不同的输出缓存提供程序,最简便的方法是设置页面或控件指令中新增加的providerName属性,如下面的示例所示: <%@ OutputCache Duration="60" VaryByParam
Response.Content.Headers Explain <@OutputCache%> and the usage of VaryByParam, VaryByHeader. Eg: <%@ OutputCache VaryByParam="none" VaryByCustom="CategoryPageKey" Location="server" Duration="43200