日期:2014-05-17  浏览次数:20366 次

关于ASP.NET在Session_End中清理用户会话缓存的问题
我在程序中将每一个用户会话的数据缓存到文件(是根据SessionID标识为数据哪个会话的),

这时候就要在一个会话结束后将属于该会话的缓存清掉,我是在Session_End事件中作清理的,
于是我在web.config中将timeout设置为1分钟进行测试发现以下问题,我很困惑,那个高手救救我啊:

1.1分钟后能正常进入到Session_End完成清掉该SessionID的缓存

2.然后我刷新该页面:页面中的处理是检查数据在缓存中是否存在(由于刚在Session_End清理掉了所以没有)
,不存在就获取数据并缓存,(SessionID和之前的一样) 
主要问题是在于: 完成后就立马触发了Session_End,也就是说数据在缓存后又被清理掉了,就相当于没有缓存

------解决方案--------------------
难道是会话没有刷新。。