清除asp缓存?

时间:2015-01-12 16:53:52

标签: html asp.net caching

我有一个包含3个菜单的asp.Net页面。 3个点中的每一个指向子菜单,一旦从主菜单中选择子菜单,子菜单就变为可见。我将项目从默认子菜单(3中的第一个)移动到不同的子菜单。虽然菜单项在呈现页面时显示在其新位置(并且其代码隐藏工作正常),但该选项仍保留在默认子菜单上的旧位置。我们正在使用IIS 7。

重新启动没有帮助。如果我错了,请纠正我,但我认为该页面正在缓存,我需要清除此缓存。

我该怎么做呢?这里发生了什么?

感谢您的帮助和耐心。

1 个答案:

答案 0 :(得分:-2)

尝试以下代码:

For Each de As DictionaryEntry In HttpContext.Current.Cache
   HttpContext.Current.Cache.Remove(DirectCast(de.Key, String))
Next

如果这不起作用,

IDictionaryEnumerator enumerator = HttpContext.Current.Cache.GetEnumerator();

while (enumerator.MoveNext())

{

    HttpContext.Current.Cache.Remove(enumerator.Key);

}

请注意,对于具有OutputCache类型的页面,此技术效率不高。要清除此类型的缓存内存,您应该使用下面的代码行。

HttpRuntime.Close();