为什么我的文件依赖缓存,文件没改变的情况下,半个小时就失效了?为什么我的文件依赖缓存,文件没改变的情况
为什么我的文件依赖缓存,文件没改变的情况下,半个小时就失效了?
为什么我的文件依赖缓存,文件没改变的情况下,半个小时就失效了?
这个是代码??
CacheDependency dep = new CacheDependency(this.FileName);
HttpRuntime.Cache.Insert(key, obj, dep);
[最优解释]
询问下虚拟主机管理员,问他们是不是对应用程序域的内存使用有上上限限制
[其他解释]
内存不够时。这是第一种情况。
第二种
应用域重启可能会导致cache数据丢失。
应用域重启包括但不限于以下情况:
web.config被修改
bin目录内容发生变化
还有其它很多原因,可以搜索msdn
[其他解释]
补充下,程序池回收选项卡的配置 是否合理
[其他解释]加个回调,写个日志,看看原因
[其他解释]就是日志检测到的,看是缓存读取,还是直接读取,也没有出错,就是缓存没有了,
[其他解释]不知道是不是因为我放在自己的pc电脑上的原因???我用自己公司的电脑做的服务器,用公司外网地址访问
[其他解释]把reason也记录在日志中呢?
也可以考虑在回调当中再加入更新缓存的方式。我以前就是这样做的。
[其他解释]什么reason啊??调用的时候没出错,我调用代码是如果缓存不存在则直接访问然后在直接写入缓存,可这个缓存有效期只有30分钟,超过了就得重新写一次缓存了,我命名是文件缓存啊,怎么变成时间缓存了
[其他解释]把缓存的时间弄长点。
[其他解释]我是文件缓存啊,没有设置时间的
这个是代码
CacheDependency dep = new CacheDependency(this.FileName);
HttpRuntime.Cache.Insert(key, obj, dep);
难道文件缓存的有效期只有30分钟啊??
[其他解释]怎么没有高手指点啊···
[其他解释]人呢,需要高手啊··
[其他解释]会不会是iis回收,或者网站重启了?
[其他解释]网站没有重启,iis回收是??
[其他解释]怎么还没有高手来呢··
[其他解释]哎,还是没人甩我啊···
[其他解释]我记得缓存依赖和缓存时间是分开的吧,就是说,缓存依赖不管设置为什么,缓存时间这个属性还是有的,一但依赖没有了,缓存会更新;缓存时间到了,一样会更新。
[其他解释]我又重新做了下测试
我在公司PC电脑架设缓存如果30分钟没访问就失效,放到虚拟主机上,1个小时没访问就失效
这个是什么情况呢??怎么解决呢??我就用的文件依赖缓存,没设置时间的
代码如下
CacheDependency dep = new CacheDependency(this.FileName);
HttpRuntime.Cache.Insert(key, obj, dep);
[其他解释]还是没人来啊??大家帮助一下可怜的我吧··
[其他解释]来个高手啊。。。需要指点啊··
[其他解释]谢谢啊,看了下本机的IIS应用程序配置,估计知道什么愿意了··
------其他解决方案--------------------
你看看你iis的应用程序池回收时间是否和你测试的情况匹配
默认是1740分钟 ,29小时,
[其他解释]估计知道什么原因了··打错字了
[其他解释]IIS的应用程序池上右键,性能标签页,有个“在空闲此时间段后关闭工作进程”,默认为20分钟,虚拟空间里可能改长了一点