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,
可奇怪的是,调试时发现,那些缓存项要么都存在,要么都不存在,导致网站运行速度很不稳定.是不是缓存项的大小或个数有限制?还是缓存的命名不能包含特殊字符?
大家有碰到过这种情况吗?该怎么解决?
可以你调度的时候,重新编译后,缓存就丢失了,类似于应用程序重启
注意检查是否有网站文件被更新,比如有写文件操作,这时网站会自动被重新编译启动,缓存都会丢失。需要写的文件应该放app_data目录。
mark...
mark
应用程序重启了吧。。或是程序改动重新编译重启