ASP.NET程序中的数据缓存怎么会时有时无?

public static void SetCache(string CacheKey, object objObject, DateTime absoluteExpiration,TimeSpan slidingExpiration )
  {
   System.Web.Caching.Cache objCache = HttpRuntime.Cache;
            objCache.Insert(CacheKey, objObject, null, absoluteExpiration, slidingExpiration );

  }

如上面代码所示,网站里我基本上都用这种方法进行缓存,
absoluteExpiration参数一般为DateTime.Now.AddMinutes(15),
slidingExpiration 参数都传入System.Web.Caching.Cache.NoSlidingExpiration,

可奇怪的是,调试时发现,那些缓存项要么都存在,要么都不存在,导致网站运行速度很不稳定.是不是缓存项的大小或个数有限制?还是缓存的命名不能包含特殊字符?

大家有碰到过这种情况吗?该怎么解决?


慕田峪9158850
浏览 379回答 2
2回答

动漫人物

可以你调度的时候,重新编译后,缓存就丢失了,类似于应用程序重启

米脂

注意检查是否有网站文件被更新,比如有写文件操作,这时网站会自动被重新编译启动,缓存都会丢失。需要写的文件应该放app_data目录。
打开App,查看更多内容
随时随地看视频慕课网APP