是否可以在不重置AppDomain的情况下清除ASP.NET应用程序缓存?

我想重置/清除缓存中的项目,但不重置应用程序或为此编写专门的页面.即,非程序化的解决方案.这可能吗?
最佳答案
简答:不.

ASP.NET Cache没有管理它的管理界面.您需要回收应用程序池,或创建一个简单的页面来执行Delete Items from the Cache in ASP.NET.

编辑:灵感来自Mick的答案,你可以有一个像这样的页面(RemoveCache.aspx):

<%@ Page Language="C#" %>
<script runat="server">

    void Page_Load(object sender, EventArgs e)
    {
        if (String.IsNullOrEmpty(Request.QueryString["name"]))
        {
            foreach (DictionaryEntry item in Cache)
            {
                Cache.Remove(item.Key.ToString());
                Response.Write(item.Key.ToString() + " removed<br />");
            }
        }
        else
        {
            Cache.Remove(Request.QueryString["name"]);
        }
    }

</script>

如果您调用RemoveCache.aspx,将删除所有缓存;运行RemoveCache.aspx?name = Products,只删除产品缓存条目.

转载注明原文:是否可以在不重置AppDomain的情况下清除ASP.NET应用程序缓存? - 代码日志