关于session超时、网址里有未知字符的问题

简介:      session本来是个不稳定的东西,经常会被丢失,本来用cookie不错,但又不想对程序做改动。查了查资料,找到了下面一段:       由于Asp.net程序是默认配置,所以Web.Config文件中关于Session的设定 默认的是下面这个:运行后后面会自动加一串字符 ,不好看, 如下: 在节点中修改或添加配置,有的已经存在,有的还没有存在。

 

   session本来是个不稳定的东西,经常会被丢失,本来用cookie不错,但又不想对程序做改动。查了查资料,找到了下面一段:

      由于Asp.net程序是默认配置,所以Web.Config文件中关于Session的设定 默认的是下面这个:运行后后面会自动加一串字符 ,不好看,

如下:

在<system.web></system.web>节点中修改或添加配置,有的已经存在,有的还没有存在。


<sessionState mode ="InProc" cookieless ="true" timeout ="20"></sessionState>


 

改一下cookieless 就行了。

<sessionState mode ="InProc" cookieless ="false" timeout ="20"></sessionState>



想让session不容易丢失,设置的session配置如下(电脑上开启asp.net state 服务):

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

或者只用 StateServer:  <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424"  timeout="40"/>

我们会发现sessionState标签中有个属性mode,它可以有3种取值:InProc、StateServer、SQLServer(大小写敏感)。默认情况下是InProc,也就是将Session保存在进程内(IIS5是aspnet_wp.exe,而IIS6是W3wp.exe),这个进程不稳定,在某些事件发生时,进程会重起,所以造成了存储在该进程内的Session丢失。


附:

如果要存储在session里的不是一个简单的类型,那么需要在类上面加 [Serializable]  标识为可序列化,不然会报不可自动序列化的错误。



相关文章
|
XML JSON API
请求体中的参数通常是通过"&"符号进行连接的
请求体中的参数通常是通过"&"符号进行连接的
107 1
|
XML Java Maven
第一个Respose重定向
第一个Respose重定向
89 0
|
API
Post 提交错误 远程服务器返回错误: (411) 所需的长度
Post 提交错误 远程服务器返回错误: (411) 所需的长度
181 0
远程服务器返回错误: (411) 所需的长度。
远程服务器返回错误: (411) 所需的长度。
140 0