首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OutputCache的行为异常

OutputCache的行为异常
EN

Stack Overflow用户
提问于 2009-03-22 21:51:30
回答 2查看 412关注 0票数 2
代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
{Label1.Text = DateTime.Now.ToString();}

如果在我编译这个新创建的应用程序后,浏览器B1第一个请求Cache.aspx,那么在接收到的页面上显示的时间是10.16:20。如果在10秒后,我刷新B1的Cache.aspx(通过单击按钮来引起回发),则时间10.16.30将显示,并且在所有后续回发中,10.16.30将始终显示(直到1小时过去)。如果在B1第一次请求Cache.aspx的几分钟后,浏览器B2也请求相同的页面,那么在第一次收到页面时,B2的Cache.aspx将显示时间10.16.20,而在所有后续B2的回发中,将显示10.16:30的时间。

A)所以看起来Asp.net生成了两个缓存版本的Cache.aspx (因此代码被执行两次),一个缓存页面被提供给第一次请求Cache.aspx的浏览器,第二个缓存页面被提供给只刷新其Cache.aspx的浏览器?

B)因为我的书从来没有提到过这样的行为,我想知道你是得到了同样的行为,还是我的网络环境又是“独特的”?

C)创建同一页面的两个副本(因此执行代码两次)似乎是浪费时间,那么为什么Asp.Net要这样操作--这背后一定有一些道理/好处?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2009-03-22 22:15:20

一个完整的猜测,但假设缓存是由整个请求(查询字符串args等)隔离的……即使"none“关闭键/值对,"GET”仍然被简单地算作不同于“POST”?

尝试使用简单的链接(<a href...>等),而不是ASP.NET按钮。

票数 2
EN

Stack Overflow用户

发布于 2009-04-08 09:35:55

如果我尝试if (ispostback) begin response.cache.setcachebility(nocache) end

然后,每次单击按钮都会更新标签。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/671669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档