当前位置:编程学习 > C#/ASP.NET >>

求助:关于ASP.NET中用系统时间验证整页缓存效果的一个问题

刚开始学ASP.NET的缓存技术,在做整页缓存的一个简单应用时碰到一个问题:在IE中运行后,单击页面内的“刷新”按钮时,第一次可以显示时间,然后在5秒内如果再次单击“刷新”按钮则浏览器提示无法显示该网页,而5秒之外再次单击一次则可以正常显示,之后再次在5秒内单击又无法显示,可是在北大青鸟的教材书上说的是可以一直不停的单击“刷新”按钮进而观察缓存效果。
这个问题在火狐浏览器中不存在,可以不停的单击“刷新”按钮,每5秒更新一次时间。
请问在IE中为啥存在这个问题?

前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="WholePageCache.aspx.cs" Inherits="MyCacheExample_WholePageCache" %>

<%@ OutputCache Duration="5" VaryByParam="none"  %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        当前系统时间:<asp:Label ID="lblTime" runat="server"></asp:Label><br /><br />
        <asp:Button ID="btnRefresh" runat="server" Text="刷新" onclick="btnRefresh_Click" />
    </div>
    </form>
</body>
</html>
后台代码:
public partial class MyCacheExample_WholePageCache : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        
    }
    protected void btnRefresh_Click(object sender, EventArgs e)
    {
        this.lblTime.Text = DateTime.Now.ToString();
    }
}
--------------------编程问答-------------------- 我觉得用这个办法显示时钟不好,可以用一个js定时器,在html里面自动运行就可以了
<script type="text/javascript"> 
function donghai() { 
parent.main.location.reload(); 

setInterval("donghai()",30000) 
</script> --------------------编程问答-------------------- js的方法我会,但我现在在学ASP.NET的缓存技术啊,想验证下整页缓存的效果。
不过还是谢谢你了啊! --------------------编程问答-------------------- 这个问题我也遇到了,谁给解释一下 --------------------编程问答-------------------- 设置一下缓存位置 Location="Downstream" 或者"client"
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,