惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
腾讯CDC
Jina AI
Jina AI
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
小众软件
小众软件
M
MIT News - Artificial intelligence
MyScale Blog
MyScale Blog
D
Docker
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
月光博客
月光博客
L
LangChain Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky
C
Check Point Blog
U
Unit 42
人人都是产品经理
人人都是产品经理

博客园 - leegool

常见XSD问题 EntitySpace 常用语句 抗投诉空间 C#用WebClient下载File时操作超时的问题 用C# 实现 Zen Cart 的用户密码加密算法 ASP.NET MVC 3 新特性 System.Web.Security.SqlMembershipProvider”要求一个与架构版本“1”兼容的数据库架构。 关于MarshalByRefObject的解释 MVC upload image MVC上传图片的例子 - leegool jQuery Custom Selector JQuery自定义选择器 - leegool 清楚浏览器缓存 Overview of Full Text Stop Words(MSSQL全文索引的干扰词概括)MSSQL 全文索引的最小单词长度 JQuery性能优化 MS SQL 事务隔离级别 认识ASP.NET 中的 AppDomain 国外服务器上 中文成 显示乱码 Sharing cookie Across domain 跨域cookie访问 cookie跨域 web性能优化(最佳) EntitySpaces 2009 Trial Expire 异常
ASP.NET MVC 局部缓存实现 用户控件缓存 Partial Output Cach...
leegool · 2010-05-10 · via 博客园 - leegool

在ASP.NET MVC2.0版里做局部缓存(Partial Output Caching )的时候,发现用传统方法缓存是无效的。

以下是传统方法:

Menu.ascx:

<%@ OutputCache Duration="60" Shared="true"  VaryByParam="none" %>

Master page:

<% Html.RenderPartial("Menu"); %>

解决方案:

Menu.ascx:

<%@ OutputCache Duration="60" Shared="true"  VaryByParam="none" %>

Master page:

<%@ Register Src="~/Views/Shared/Menu.ascx" TagPrefix="MVC" TagName="Menu" %>

<MVC:Menu  runat="server"/>

原理其实就是它控件runat server. 因为只有运行在服务端的控件才能生成OutputCache。

另外,用户控件的缓存没办法用代码来控制。这个有点小郁闷。因为在某些情况下我们需要清除用户控件缓存。这个改进办法可以是去缓存用户控件的数据,而不是整个用户控件了。