我对此有一个典型的要求。
我有一个在asp.net 4.0中开发的Web应用程序。在这个应用程序中,我想在其中一个Web表单中添加一个按钮,它将执行以下任务:
现在,我知道我们可以通过删除此处存在的文件手动实现它,
%systemroot%\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
%systemroot%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
我们需要在删除临时文件之前关闭IIS,然后再重新启动它。为了避免对缓存文件的任何依赖。
但我想知道如何在网络表单的按钮点击事件中实现它。 请帮我解决这个问题。
答案 0 :(得分:2)
我目前在我的应用程序中使用以下内容:
public static void ClearAspNetCache(HttpContext context) {
foreach (DictionaryEntry entry in context.Cache) {
context.Cache.Remove((string)entry.Key);
}
}
这是一个非常有用的源参考:
答案 1 :(得分:1)
如果要从缓存中删除所有项目,请尝试使用此功能:
IDictionaryEnumerator enumerator = HttpContext.Current.Cache.GetEnumerator();
while (enumerator.MoveNext())
{
HttpContext.Current.Cache.Remove(enumerator.Key);
}
答案 2 :(得分:1)
从HttpContext.Current.Cache中删除项目不会清除IIS缓存。 它是服务器端缓存(由ASP.NET运行时管理),而不是Web服务器缓存。
查看此链接。 http://blogs.msdn.com/b/dougste/archive/2008/08/11/clearing-out-temporary-asp-net-files.aspx