session不稳定怎么让他稳定呢?

时间:2022-09-14 17:37:13
RT
现在很多东西都存在session里面了 但是session不是很稳定经常丢失有什么办法么

31 个解决方案

#1


写到数据库里去

#2


对于大网站来说,是要用数据库的,至少也要用 State Server

小网站也不会不稳定

不要存太多东西

#3


没存多少东西啊。就存个 id 一个int型还是个32位的 还是个十位数

#4


下点功夫修改你的程序的一个个处理流程,不再使用Session集合。

#5


试试看存到sqlserver和stateserver的方式,是否有所改善

#6


就算不多,只要就网站应用程序一重启,你的Session就掉了...
很多情况会导致网站应用程序重启,比如修改了web.config、修改了bin目录下的文件...
一般网站用StateServer方式吧,如果是虚拟主机,你要访问下空间商是否支持。

#7


引用 6 楼 tomysea 的回复:
就算不多,只要就网站应用程序一重启,你的Session就掉了...
很多情况会导致网站应用程序重启,比如修改了web.config、修改了bin目录下的文件...
一般网站用StateServer方式吧,如果是虚拟主机,你要访问下空间商是否支持。

服务器没开这个。。

#8


公司连单独的服务器都没有吗?那么用加密的Cookies配合Cache就好了

#9


最好写入数据库啊~Session太容易丢失!

#10


引用 9 楼 wolf1947 的回复:
最好写入数据库啊~Session太容易丢失!


或用缓存技术

#11


想得美,不用想了,不稳定! 平时 不怎么用。

#12


就一个字符啊. 用Cookies啊.

#13


用Cookies 吧
session 的话,就看服务器了,如果服务器的IIS里的应用池设置为几分钟就重启一次的话,session 即刻丢失,也即不稳定

#14


在web.config里加上这个

<sessionState mode='StateServer' stateConnectionString='tcpip=127.0.0.1:42424'  timeout='30'/>


要开启ASP.net状态服务

#15


不用是最稳定的

#16


该回复于2011-08-22 11:27:37被版主删除

#17


stateserver

#18


session + cookie配合使用吧

#19


我也想了解一下

#20


看来session遭到大家的一致抛弃了······

#21


session + cookie配合使用吧 

这个不错. 一般不丢失.

#22


你是在租来的虚拟服务器上用的吧?那上面session丢失是很频繁的,我现在也不再完全依赖session了,一般都是存在数据库里,然后再放在session或cache里面,读取的时候先找session或cache,如果里面有数据则直接取出,没有再去数据库里面找,找出来的数据再放进去,避免多次访问数据库影响性能。

#23


我这个是个人公司服务器。然后 session丢失的原因到现在也不清楚。因为配置文件也写时间了
尝试写state但是写上之后黄页了。。貌似服务器没开这个
服务器不是我管的。。所以。。。你懂的。。而且很多地方都用了session 要改的话不容易。写数据库不太现实。

#24


我使用session一直都很稳定,请按如下设置:
web.config
加上:

 <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="3600"/>

不稳定我可以赔你人民币

#25


引用 24 楼 billrobin 的回复:
我使用session一直都很稳定,请按如下设置:
web.config
加上:

 <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookiele……

服务器没开StateServer
开了的话我也不会郁闷了

#26


如果是公司服务器的话,就跟管理服务器的人沟通一下,开通StateServer试试应该会好的多,同事之间嘛,有很多事情还是要沟通的。

#27


用cookie啊

#28


lz考虑下用我的解决方案吧,就是在你的页面的bottom的页面中
<meta http-equiv="refresh" content="600" />
这样每600毫秒刷新一次页面,可以有效避免session超时的问题

#29


引用 28 楼 hundanbaobao001 的回复:
lz考虑下用我的解决方案吧,就是在你的页面的bottom的页面中
<meta http-equiv="refresh" content="600" />
这样每600毫秒刷新一次页面,可以有效避免session超时的问题

bottom 这个页面也尽量小,这样刷新的时候不会太影响

#30


引用 29 楼 hundanbaobao001 的回复:
引用 28 楼 hundanbaobao001 的回复:
lz考虑下用我的解决方案吧,就是在你的页面的bottom的页面中
<meta http-equiv="refresh" content="600" />
这样每600毫秒刷新一次页面,可以有效避免session超时的问题

bottom 这个页面也尽量小,这样刷新的时候不会太影响

内容量太大。这个方案不行

#31


ding a 

#1


写到数据库里去

#2


对于大网站来说,是要用数据库的,至少也要用 State Server

小网站也不会不稳定

不要存太多东西

#3


没存多少东西啊。就存个 id 一个int型还是个32位的 还是个十位数

#4


下点功夫修改你的程序的一个个处理流程,不再使用Session集合。

#5


试试看存到sqlserver和stateserver的方式,是否有所改善

#6


就算不多,只要就网站应用程序一重启,你的Session就掉了...
很多情况会导致网站应用程序重启,比如修改了web.config、修改了bin目录下的文件...
一般网站用StateServer方式吧,如果是虚拟主机,你要访问下空间商是否支持。

#7


引用 6 楼 tomysea 的回复:
就算不多,只要就网站应用程序一重启,你的Session就掉了...
很多情况会导致网站应用程序重启,比如修改了web.config、修改了bin目录下的文件...
一般网站用StateServer方式吧,如果是虚拟主机,你要访问下空间商是否支持。

服务器没开这个。。

#8


公司连单独的服务器都没有吗?那么用加密的Cookies配合Cache就好了

#9


最好写入数据库啊~Session太容易丢失!

#10


引用 9 楼 wolf1947 的回复:
最好写入数据库啊~Session太容易丢失!


或用缓存技术

#11


想得美,不用想了,不稳定! 平时 不怎么用。

#12


就一个字符啊. 用Cookies啊.

#13


用Cookies 吧
session 的话,就看服务器了,如果服务器的IIS里的应用池设置为几分钟就重启一次的话,session 即刻丢失,也即不稳定

#14


在web.config里加上这个

<sessionState mode='StateServer' stateConnectionString='tcpip=127.0.0.1:42424'  timeout='30'/>


要开启ASP.net状态服务

#15


不用是最稳定的

#16


该回复于2011-08-22 11:27:37被版主删除

#17


stateserver

#18


session + cookie配合使用吧

#19


我也想了解一下

#20


看来session遭到大家的一致抛弃了······

#21


session + cookie配合使用吧 

这个不错. 一般不丢失.

#22


你是在租来的虚拟服务器上用的吧?那上面session丢失是很频繁的,我现在也不再完全依赖session了,一般都是存在数据库里,然后再放在session或cache里面,读取的时候先找session或cache,如果里面有数据则直接取出,没有再去数据库里面找,找出来的数据再放进去,避免多次访问数据库影响性能。

#23


我这个是个人公司服务器。然后 session丢失的原因到现在也不清楚。因为配置文件也写时间了
尝试写state但是写上之后黄页了。。貌似服务器没开这个
服务器不是我管的。。所以。。。你懂的。。而且很多地方都用了session 要改的话不容易。写数据库不太现实。

#24


我使用session一直都很稳定,请按如下设置:
web.config
加上:

 <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="3600"/>

不稳定我可以赔你人民币

#25


引用 24 楼 billrobin 的回复:
我使用session一直都很稳定,请按如下设置:
web.config
加上:

 <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookiele……

服务器没开StateServer
开了的话我也不会郁闷了

#26


如果是公司服务器的话,就跟管理服务器的人沟通一下,开通StateServer试试应该会好的多,同事之间嘛,有很多事情还是要沟通的。

#27


用cookie啊

#28


lz考虑下用我的解决方案吧,就是在你的页面的bottom的页面中
<meta http-equiv="refresh" content="600" />
这样每600毫秒刷新一次页面,可以有效避免session超时的问题

#29


引用 28 楼 hundanbaobao001 的回复:
lz考虑下用我的解决方案吧,就是在你的页面的bottom的页面中
<meta http-equiv="refresh" content="600" />
这样每600毫秒刷新一次页面,可以有效避免session超时的问题

bottom 这个页面也尽量小,这样刷新的时候不会太影响

#30


引用 29 楼 hundanbaobao001 的回复:
引用 28 楼 hundanbaobao001 的回复:
lz考虑下用我的解决方案吧,就是在你的页面的bottom的页面中
<meta http-equiv="refresh" content="600" />
这样每600毫秒刷新一次页面,可以有效避免session超时的问题

bottom 这个页面也尽量小,这样刷新的时候不会太影响

内容量太大。这个方案不行

#31


ding a