更新WebService后, Cache缓存丢失的问题

wjs496249880 2014-10-11 04:09:57

webservice接口功能处理需要大量基础数据,所以引入了Cache,事先先将所需的数据存入Cache,发布后部署到IIS,应用程序池去掉了回收工作进程的选项,程序测试调取接口,两天内Cache中的数据一直存在,但一旦更新了WebService接口,如其中一个dll更新了,甚至配置文件更新后,Cache中的数据就没了,想问问各位怎么能保证这个Cache不因接口更新而消失呢。
Cache本身已定义为永不过期:
hotelCache.Insert("HotelBasics", hotelDictionary, null, DateTime.MaxValue, TimeSpan.Zero, CacheItemPriority.NotRemovable,null);
...全文
563 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjs496249880 2015-06-18
  • 打赏
  • 举报
回复
结贴吧。已经在使用memcached
wyumening 2014-10-12
  • 打赏
  • 举报
回复
可能是由于代码更改了,dl重新生成了,配置文件更改了,这些行为都导致应用程序重启所以cache过期了,这和你在代码中设置了cache的过期时间无关,这个也不用太担心,当项目实际投入使用后总不可能三天两头就更新dll,然后重新生成程序吧?
wjs496249880 2014-10-11
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
另外,对于 asp.net,就算你定义一个 static 变量,它也会随时因进程重启而丢失的。更何况你的那种东西根本不是cache,而非要说成是 cache。 理顺了asp.net基本原理,重新考虑设计吧。
System.Web.Caching.Cache cacheTest = HttpRuntime.Cache;
这个不是缓存?
wjs496249880 2014-10-11
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
既然是Cache,它的数据自然随时可能丢失啊。 你把别的东西当成Cache理解了吧?
我这个应用程序池工作进程没有回收,内存资源还占用着,System.Web.Caching 缓存不是应该由程序池控制么?难道还是由Cache所在的webservice管控的?
  • 打赏
  • 举报
回复
另外,对于 asp.net,就算你定义一个 static 变量,它也会随时因进程重启而丢失的。更何况你的那种东西根本不是cache,而非要说成是 cache。 理顺了asp.net基本原理,重新考虑设计吧。
  • 打赏
  • 举报
回复
既然是Cache,它的数据自然随时可能丢失啊。 你把别的东西当成Cache理解了吧?

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧