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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
T
Threatpost
Latest news
Latest news
N
News | PayPal Newsroom
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Help Net Security
Help Net Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
TaoSecurity Blog
TaoSecurity Blog
The Last Watchdog
The Last Watchdog
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
T
Threat Research - Cisco Blogs
O
OpenAI News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
The Exploit Database - CXSecurity.com
NISL@THU
NISL@THU
Application and Cybersecurity Blog
Application and Cybersecurity Blog
S
Securelist
小众软件
小众软件
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
Cisco Talos Blog
Cisco Talos Blog
云风的 BLOG
云风的 BLOG
AWS News Blog
AWS News Blog
GbyAI
GbyAI
N
News and Events Feed by Topic
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
美团技术团队
Engineering at Meta
Engineering at Meta
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
S
Schneier on Security
博客园 - 聂微东
V2EX - 技术
V2EX - 技术
T
Troy Hunt's Blog
SecWiki News
SecWiki News
S
Secure Thoughts
B
Blog RSS Feed
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
腾讯CDC
H
Heimdal Security Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed

博客园 - 思然

邮件带图片附件 - 思然 - 博客园 XML查找节点 - 思然 - 博客园 动态生成rdlc 报表(原创) 图片处理 - 思然 - 博客园 数据绑定及其他 - 思然 - 博客园 图片上传及网络相册功能 SQL Server 2005 Express 使用心得 - 思然 附加进程调试和存储过程调试 (转)DIV CSS布局教程:应用ul、li实现表格形式 用户控件的使用经验 防刷新多次提交 枚举的应用 添加div符号注意符号问题 Datalist调用本地文件绑定图片 用户控件-TreeView的用法 关于table控件的一个疑难问题(涉及循环) 关于javascript调用webservices的中文参数乱码的问题 服务器端和客户端清除TextBox控件的值 获取母版页的控件的方法
缓存之缓存文件依赖及编程方式设置输出缓存过期
思然 · 2008-06-26 · via 博客园 - 思然

可以缓存页面的一个文件或一组文件,设置依赖,但文件被改时,缓存失效
aspx在头的地方写
<%@ OutputCache VaryByParam="none" Duration="9999" %>
可以在此调用时间方便知道是否缓存 
 <%=DateTime.Now.ToString("T")%>
 protected void Page_Load(object sender, EventArgs e)
    {
        Response.AddFileDependency(MapPath("luca.xml"));

    }
用Gridview绑定XML
如果修改此XML缓存失效

另一种编程设置缓存失效
如有个页面是显示jobs数据的页面设置了缓存,当我在另一个页面做添加数据时,我就要把显示jobs的数据缓存去掉
添加一个页面

<%@ OutputCache VaryByParam="none" Duration="9999" %>
这个页面就叫jobs.aspx
获取jobs的值
用GridView等绑定随便我就不写了
加一个链接到添加jobs值得页面
 <a href="AddJobs.aspx">AddJobs.aspx</a>

在addjobs页面
当在做完添加操作后写如下代码

  string sql = "insert into jobs values('luca',30,50)";
        SqlCommand cmd = new SqlCommand(sql,con);
        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();
  HttpResponse.RemoveOutputCacheItem(Page.ResolveUrl("~/jobs.aspx"));
        Response.Redirect("~/jobs.aspx");
    }

就可以还一种情况
 如果有多个页面都调用jobs数据并且都缓存了
 上面的 HttpResponse.RemoveOutputCacheItem一次只能去除一个页面 我们就要用到Cache
在jobs.aspx中
protected void Page_Load(object sender, EventArgs e)
    {
        Cache.Insert("jobs", DateTime.Now);
        Response.AddCacheItemDependency("jobs");
    }
然后在addjobs中在添加操作后
 Cache.Remove("jobs");
就ok了
如果另一个页面如jobsDetails.aspx
也缓存了jobs数据
也只要page_load中写
     Response.AddCacheItemDependency("jobs");
也就同样会失去缓存