SESSION是基于COOKIE保存的(ASP.NET也能基于数据库),只有客户端打开COOKIE才能有效保存SESSION,当一个会话结束后,SESSION的数据会自动无效(系统配置的,也有时间标签)。
COOKIE可以有多种配置,比如浏览器关闭时清除,保存一段时间(一个月、一年等),还可以永久保存(把有效期设置超长)。
谢谢回复,我现在遇到的问题是在本机上一切正常,上传到服务器上就不行了,用浏览器插件查看cookie都是正常的(过期时间为两周后),但网站就不是能长时间登录
@菜鸟程序猿: 查看到的cookie的域名是什么?
楼主的问题应该是SESSION失效了,楼主可以在web.config文件中对SESSION进行配置,< sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
mode有三种模式
InProc 设置为将Session存储在进程内,就是ASP中的存储方式,这是默认值。
StateServer 设置为将Session存储在独立的状态服务中。
SQLServer 设置将Session存储在SQL Server中。
我写在Global.asax的Session_OnStart中写了Session.Timeout=20160,但只在本地起作用。
是Session_Start 不是Session_OnStart,是不是放错地方了啊
你把它放在你的一个固定文件里面,别用cookie了,如果觉得文件不安全,你可以把你想要cookie的东西放在数据库里面保存,然后固定一段时间清理一次数据库中的这个表就OK了!楼主不妨试试!