有没有办法指定数据在HttpContext.Cache中保留多长时间?

推荐答案

您可以在第四个参数Cache.Add()中指定它:

public Object Add(
    string key,
    Object value,
    CacheDependency dependencies,
    DateTime absoluteExpiration,  // After this DateTime, it will be removed from the cache
    TimeSpan slidingExpiration,
    CacheItemPriority priority,
    CacheItemRemovedCallback onRemoveCallback
)

编辑:

如果您通过索引器(即Cache["Key"])访问缓存,则被调用的方法将不使用过期,并无限期地保留在缓存中.

以下是使用索引器时调用的代码:

public void Insert(string key, object value)
{
    this._cacheInternal.DoInsert(true, key, value, null, NoAbsoluteExpiration, NoSlidingExpiration, CacheItemPriority.Normal, null, true);
}

Asp.net相关问答推荐

IIS重写模块排除机器人但允许GoogleBot

禁用托管优化并重新启动调试实际上在 Visual Studio 中更改了哪些设置?

如何在没有 Select 按钮的情况下在 GridView 中实现全行 Select ?

Azure 自定义控制器/API .Net 后端

在每页级别增加 ASP.Net 超时

System.Net.Http 版本冲突导致构建警告

System.Web.Helpers.Crypto - 盐在哪里?

将 ListItem 的 ASP.NET 列表数据绑定到 DropDownList 问题

返回值使用 String result=Command.ExecuteScalar() 结果返回 null 时发生错误

从 IIS 7/8 中的静态内容中删除服务器标头

忽略默认文档的表单身份验证

Jquery asp.net 按钮单击事件通过 ajax

如何使用 app_GlobalResource 或 app_LocalResource?

ASP.NET vNext 与主机无关,这意味着什么?

如何验证文件上传的文件类型?

如何设置默认页面 asp.net

如何在 C# 中转换 TryCast?

使 Web.config 转换在本地工作

.NET 4.0 中的自定义 MembershipProvider

使用 ASP.NET 进行重定向后获取