gpt4 book ai didi

c# - OutputCache 行为异常

转载 作者:行者123 更新时间:2023-11-30 22:50:18 25 4
gpt4 key购买 nike

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 会那样运行 –它背后一定有一些推理/好处吗?

谢谢

最佳答案

一个完整的猜测,但大概缓存被整个请求(查询字符串参数等)隔离...即使“无”关闭键/值对,大概仍然计算“GET”与“POST”不同???

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

关于c# - OutputCache 行为异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/671669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com