C# 重定向到IIS中的html文件时需要刷新页面,即

C# 重定向到IIS中的html文件时需要刷新页面,即,c#,internet-explorer,iis,webforms,C#,Internet Explorer,Iis,Webforms,所以我有一个web表单应用程序,其中我有一个页面,唯一的目的是重定向到html文件并显示它。现在这在VisualStudio中工作得很好,但是当我从IIS运行它时,它在我第一次加载页面时工作得很好,但是当我更改html文件然后再次打开它时,它仍然具有旧内容,但是如果单击“刷新”,它将更新。我想我应该在page\u Load()中手动刷新页面 ClientScript.RegisterClientScriptBlock(this.GetType(), "Refresh", "<scr

所以我有一个web表单应用程序,其中我有一个页面,唯一的目的是重定向到html文件并显示它。现在这在VisualStudio中工作得很好,但是当我从IIS运行它时,它在我第一次加载页面时工作得很好,但是当我更改html文件然后再次打开它时,它仍然具有旧内容,但是如果单击“刷新”,它将更新。我想我应该在
page\u Load()
中手动刷新页面

    ClientScript.RegisterClientScriptBlock(this.GetType(), "Refresh", "<script>window.location.reload();</script>");
ClientScript.RegisterClientScriptBlock(this.GetType(),“刷新”,“window.location.reload();”;
但这对我来说毫无意义。我已经测试过几次了,这只是chrome和firefox工作中的一个问题。我必须忍受它吗


谢谢。

正如nakchak所说,这一定是缓存问题

我想你会找到解决这个问题的办法:

在resume at
Page\u Load
中,使用以下代码防止缓存:

Response.Buffer=true;
Response.ExpiresAbsolute=DateTime.Now.AddDays(-1d);
Response.Expires =-1500;
Response.CacheControl = "no-cache";
//Bellow this is not needed, just for reference from original post 
if(Session["SessionId"] == null)
    {
     Response.Redirect ("WdetLogin.aspx");
    }
}
是什么帮我解决了这个问题。我最后只是扔了

<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
</HEAD>


在html文件的底部,这让它很高兴。这是在一条评论中,但我被限制回答,所以我现在将其作为回答重新发布。

要么将页面设置为不缓存(iis缓存设置),要么将随机数作为查询字符串附加到html页面,以强制下载该页面。每个请求都有意义,似乎是正确的答案,但我在重定向之前和之后都尝试了它,有刷新和无刷新,并关闭IIS上的输出缓存(尽管查看他们的文档,实际上并没有缓存html页面)。除非你知道我做错了什么,否则我可能会根据nakchak的建议每次更改文件名。虽然我不太喜欢这个主意。是什么帮我解决了这个问题。最后,我将
放入html文件的结尾
块中,这让它很开心。谢谢你的帮助。很高兴你找到了解决办法