System.Web.Caching.Cache设置绝对时间过期,但是如果我更新了值就貌似失效了

问题描述

_cache.Insert(key,1,Nothing,DateTime.Now.AddSeconds(10),TimeSpan.Zero)实现了10秒之后就过期。可是如果我修改_cache.Item(key)=intCount之后,到10秒后就不过期了。我想要的结果是一旦插入了第一条,无论以后是查询还是修改键中的值,我都保持最初add时候的绝对过期时间。这个如何实现?

解决方案

解决方案二:
对于Cache来说,使用_cache.Item可以读取它的值,但是对Item的项进行赋值,其实就是进行一次Insert操作。_cache.Item(key)=intCount这个语句就相当于调用Insert,而且参数中没有添加过期信息(默认参数:NoAbsoluteExpiration,NoSlidingExpiration)因此,你需要设置缓存时间,你就要调用Insert自己指定参数。
解决方案三:
只能帮你顶了。貌似修改了后都会重新计时的样。记不太清了

时间: 2024-09-19 09:51:55

System.Web.Caching.Cache设置绝对时间过期,但是如果我更新了值就貌似失效了的相关文章

System.Web.Caching.Cache类 缓存 各种缓存依赖

原文:System.Web.Caching.Cache类 缓存 各种缓存依赖 Cache类,是一个用于缓存常用信息的类.HttpRuntime.Cache以及HttpContext.Current.Cache都是该类的实例. 一.属性 属性 说明 Count 获取存储在缓存中的项数. EffectivePercentagePhysicalMemoryLimit 获取在 ASP.NET 开始从缓存中移除项之前应用程序可使用的物理内存百分比. EffectivePrivateBytesLimit 获

System.Web.Caching.Cache删除某键后,希望同时触发其它动作(关键时刻,还是事件靠的住)

System.Web.Caching.Cache是.net为我们提供的一个轻量级的缓存组件,它提供了最基础的增,增过期,删除,获取等操作,下面是对Cache进行的一个封装,方便以后统一调用和扩展. /// <summary> /// 缓o存?相à关?的?操ù作÷类à /// 占?占? /// </summary> public class DataCache { /// <summary> /// 获?取?当±前°应|用?程ì序ò指?定¨CacheKey的?Cache值

System.Web.Caching.Cache绝对时间过期如果我更新了值就貌似失效了

问题描述 _cache.Insert(key,1,Nothing,DateTime.Now.AddSeconds(10),TimeSpan.Zero)实现了10秒之后就过期.可是如果我修改_cache.Item(key)=intCount之后,到10秒后就不过期了.我想要的结果是一旦插入了第一条,无论以后是查询还是insert修改,我都保持最初add时候的绝对过期时间.这个如何实现? 解决方案 解决方案二:在修改的时候不修改add时间

System.Web.Caching.Cache绝对时间过期如何实现

问题描述 _cache.Insert(key,1,Nothing,DateTime.Now.AddSeconds(10),TimeSpan.Zero)实现了10秒之后就过期.可是如果我修改_cache.Item(key)=intCount结果就不过期了.我想要的结果是一旦插入了第一条,无论以后是查询还是insert修改,我都保持最初add时候的绝对过期时间.这个如何实现? 解决方案 本帖最后由 MyLucifer1 于 2011-12-26 17:57:15 编辑解决方案二:http://arc

用System.Web.HttpRuntime.Cache保存DataSet,有时取出来的时候发现Dataset里面的数据有些丢失了。

问题描述 用System.Web.HttpRuntime.Cache保存DataSet,有时取出来的时候发现Dataset里面的数据有些丢失了.不知道什么原因.现在还没有跟踪到是否整个DataSet都丢失了,在网上搜了一下相关文章,都说资源紧张的时候,系统有可能会回收Cache,但是为什么只丢失部分数据呢? 解决方案 解决方案二:帮顶是不是其他代码问题?解决方案三:看一下缓存的时间是否过期了解决方案四:HttpRuntime.Cache.Add("KEY",value,null,Cac

web.xml 中设置session过期时间没有效果

问题描述 web.xml 中设置session过期时间没有效果 解决方案 session过期时间延长Session的过期时间C#如何设置session过期时间 解决方案二: 会不会代码中也设置的session时间如session.setMaxInactiveInterval(1*60)1分钟

在iis上部署了一个webservice,在iis中能正常运行,但是在一个项目中引用,编译通过,但是运行提示以下错误System.Web.Services.Protocols.SoapException: 服务器未能识别 HTTP 头 SOAPAction

问题描述 System.Web.Services.Protocols.SoapException:服务器未能识别HTTP头SOAPAction的值:http://www.g-esoft.com/OneAccount/WebService/GetEmployeeByKeyid.在System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()在System.Web.Services.Protocols.SoapServe

asp中设置session过期时间方法总结

 如果程序中没有设置session的过期时间,那么session过期时间就会按照IIS设置的过期时间来执行,IIS中session默认过期时间为20分钟,IIS中session时间可以更改   如果程序中设置了session过期时间,那么,即使你将IIS中session时间设置100小时也没有用,因为程序会首先按照程序中设置,只有程序没设置的情况下才会按照IIS设置的 时间设置要放在前面 例如  代码如下   Session.Timeout=30 'SEESION有效时间为30分钟  Sessi

ASP.NET设置Session过期时间

  1.本文所说Session过期时间的四种设置方式均在Widnows2003系统下设置的,具体步骤:开始--〉管理工具--〉Internet信息服务(IIS)管理器--〉网站--〉默认网站- -〉右键"属性"--〉主目录--〉配置--〉选项--〉启用会话状态--〉会话超时(在这儿设置你要的超时时间,单位分钟).确定即可. 2.ASP.NET应用程序中Session过期时间的设置 在ASP.NET这样的Web应用中,Session是用来保存用户状态的常用手段,不过由于服务器内存空间是有