Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# OutputCache行为异常_C#_.net_Asp.net_Caching - Fatal编程技术网

C# OutputCache行为异常

C# OutputCache行为异常,c#,.net,asp.net,caching,C#,.net,Asp.net,Caching,在我编译了这个新创建的应用程序之后,如果浏览器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的回

在我编译了这个新创建的应用程序之后,如果浏览器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似乎生成了的两个缓存版本 aspx(因此代码执行两次),给出一个缓存页面 第一次和第二次请求Cache.aspx的浏览器 缓存页面提供给只刷新缓存的浏览器。aspx

B) 因为我的书从来没有提到过这样的行为,我想知道你 还是我的网络环境再次“独一无二”

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


谢谢您

这是一个完整的猜测,但可能缓存是由整个请求(查询字符串args等)隔离的。。。即使“none”关闭键/值对,可能“GET”仍然被视为不同于“POST”

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

如果我尝试 如果(iPostBack) 开始 response.cache.setcachebility(nocache) 结束


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

您确定所有涉及的URL即使到字符大小写都是相同的吗?ASP.NET确实会为不同的浏览器生成不同的标记。我不确定它是否会影响字符大小写。>您确定所有涉及的URL都是相同的,甚至连字符大小写都是相同的吗?是的,因为我将URL从一个浏览器复制到另一个浏览器>ASP.NET确实会为不同的浏览器生成不同的标记。。。我不知道你在说什么,但我在所有的测试中都使用了firefox
protected void Page_Load(object sender, EventArgs e)
{Label1.Text = DateTime.Now.ToString();}