今儿咱来聊聊这个 ASP Session,说到这个玩意儿,我可是折腾好一阵子,踩不少坑,今天就来给大伙儿好好说道说道,省得你们再走弯路。
我就发现这Session老是莫名其妙地就没,你说这得多闹心。用户用着用着突然就得重新登录,体验那叫一个差。我就开始琢磨,这到底是咋回事?
我先去查代码,翻来覆去地看,也没发现哪里有之类的代码,按说不应该主动销毁Session?我寻思,难不成是代码的问题?不会,这代码都跑这么久,之前也没见出啥大问题呀。
我又去看看那个叫啥来着的,对,*文件。这玩意儿就像个管家婆,啥配置都往里面塞。我仔细瞧瞧,也没发现啥特别的,那个sessionstate
段里也没啥设置。我就琢磨着,要不咱试试加个cookieless="true"
?死马当活马医呗,反正也不吃亏。结果你猜咋着,还真有点用,Session好像没那么容易丢,但还是治标不治本,偶尔还是会抽风。
然后我就开始各种尝试,听说啥杀毒软件可能会影响,我就把*文件给它加个白名单,不让它瞎扫。我还把那个* State Service给启动,这玩意儿好像是专门管Session状态的,启动它,心里踏实点儿。
- 各种方法都试:
- 查代码,看有没有主动销毁Session的地方
- 看*,加
cookieless="true"
- 把*加到杀毒软件白名单
- 启动* State Service
可是,这些招数都用,问题还是没彻底解决。我就纳闷,这Session到底是个啥脾气?咋就这么难伺候?
后来我偶然间发现,好像每次我删个目录或者改个文件名啥的,Session就特别容易丢。我这心想,这不会是它们之间有啥猫腻?于是我就开始注意这些操作,尽量避免在用户使用高峰期搞这些。
的成果
经过这么一番折腾,Session丢失的问题总算是缓解不少,虽然偶尔还是会出现,但频率已经低很多。我也算是摸清这Session的一点脾气,以后再遇到类似的问题,也知道该从哪些方面下手。所以说,实践出真知,不亲自试试,还真不知道这里面有这么多门道。