2011-01-21 46 views
4

在我的应用程序(ASP.NET + c#)我需要用户输入的aspx页面之前清除缓存。如何以编程方式清除缓存?

没有任何人有任何想法我如何通过编程清除aspx页面上的缓存,或在后面的代码(C#)?在页面加载事件

+0

客户端或服务器缓存? – 2011-01-21 10:33:36

+0

客户端缓存,我的代码时,我在浏览器上清除缓存,否则不.. – 2011-01-21 10:36:26

回答

11

写下面的代码:

protected void Page_Load(object sender, EventArgs e) 
{ 
    Response.Cache.SetCacheability(HttpCacheability.NoCache); 
    Response.Cache.SetExpires(DateTime.Now); 
    Response.Cache.SetNoServerCaching(); 
    Response.Cache.SetNoStore(); 
} 
0

除非有清除缓存(这将是可怕的)一些JavaScript的方式,你不能。

最好的办法是,以确保该页面没有得到根本缓存,这样做是Sukhi建议 - 或设立一个无缓存缓存配置文件,并使用OutputCache指令。

1

您可以从输出缓存如下删除页面:

HttpResponse.RemoveOutputCacheItem("MyPage.aspx"); 

这不会从任何客户端缓存中删除它,所以如果你想使用这个技术,你可能会想禁用客户端缓存,例如通过在aspx页面中使用以下指令:

<%@ OutputCache Location="Server" ... 
相关问题