4

在我的应用程序 ( ASP.NET+ c#) 中,我需要在用户进入 aspx 页面之前清除缓存。

有谁知道我如何以编程方式清除 aspx 页面上的缓存,或者在 (c#) 后面的代码中?

4

3 回答 3

13

在页面加载事件中编写以下代码:

protected void Page_Load(object sender, EventArgs e)
{
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.Cache.SetExpires(DateTime.Now);
    Response.Cache.SetNoServerCaching();
    Response.Cache.SetNoStore();
}
于 2011-01-21T10:38:04.590 回答
1

您可以从输出缓存中删除页面,如下所示:

HttpResponse.RemoveOutputCacheItem("MyPage.aspx");

这不会将其从任何客户端缓存中删除,因此如果您想使用此技术,您可能需要禁用客户端缓存,例如通过在您的 aspx 页面中使用以下指令:

<%@ OutputCache Location="Server" ...
于 2011-01-21T10:42:42.500 回答
0

除非有一些 javascript 方法来清除缓存(这会很糟糕),否则你不能。

最好的办法是确保页面根本不被缓存,方法是按照 Sukhi 的建议 - 或设置无缓存缓存配置文件并使用 OutputCache 指令。

于 2011-01-21T10:40:42.577 回答