c# - 我们如何通过在 asp.net 应用程序中单击按钮来清除服务器端缓存?

标签 c# asp.net .net server-side

我这里有一个典型的需求。

我有一个在 asp.net 4.0 中开发的 Web 应用程序。在此应用程序中,我想向其中一个 Web 表单添加一个按钮,它将执行以下任务:

  1. 它应该清除服务器端缓存,我的意思是它应该清除托管应用程序的同一 IIS 服务器的缓存。

现在,我知道我们可以通过删除此处存在的文件来手动实现它,

%systemroot%\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
%systemroot%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files

并且我们需要在删除临时文件之前关闭IIS,然后再重新启动它。为了避免对缓存文件的任何依赖。

但是我想知道如何在web表单的按钮点击事件中实现。 请帮我解决这个要求。

最佳答案

我目前在我的应用程序中使用以下内容:

    public static void ClearAspNetCache(HttpContext context) {
        foreach (DictionaryEntry entry in context.Cache) {
            context.Cache.Remove((string)entry.Key);
        }
    }

这是一个可能非常有用的引用源:

http://aspadvice.com/blogs/ssmith/archive/2005/11/14/Extending-the-ASPNET-Cache-Object-Cache-Clear.aspx#33197

关于c# - 我们如何通过在 asp.net 应用程序中单击按钮来清除服务器端缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11720167/

相关文章:

c# - Service Fabric 如何选择用于托管服务的端口?

c# - Web 应用程序生成错误 : The CodeDom provider type Microsoft. 找不到 VisualC.CppCodeProvider

ASP.NET错误: "The type ' foo' exists in both "temp1.dll" and "temp2.dll"

mysql - 连接到数据库时未处理 SocketException

c# - 发送 SOAP 请求,从哪里开始?

c# - 使用字符串拆分方法时设置数组的大小

c# - 使用 WWW 类加载多个外部纹理

c# - 如何知道我是否在 C# 中中了彩票

ASP.NET 无法创建 ActiveX 组件

c# - 使用 Newtonsoft JSON 反序列化 IList 对象