关于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]  标识为可序列化,不然会报不可自动序列化的错误。



相关文章
|
5月前
|
JSON 小程序 前端开发
小程序踩坑-http://xxx.com 不在以下 request 合法域名列表中
小程序踩坑-http://xxx.com 不在以下 request 合法域名列表中
129 0
|
9月前
|
API
Post 提交错误 远程服务器返回错误: (411) 所需的长度
Post 提交错误 远程服务器返回错误: (411) 所需的长度
70 0
|
9月前
远程服务器返回错误: (411) 所需的长度。
远程服务器返回错误: (411) 所需的长度。
79 0
|
10月前
|
Shell Perl
查找 80 端口请求数最高的前 20 个 IP 地址,判断中间最小的请求数是否大于 500,如大于 500,则输出系统活动情况报告到 alert.txt,如果没有,则在 600s 后重试,直到有输出为止
查找 80 端口请求数最高的前 20 个 IP 地址,判断中间最小的请求数是否大于 500,如大于 500,则输出系统活动情况报告到 alert.txt,如果没有,则在 600s 后重试,直到有输出为止
62 1
|
缓存 负载均衡 网络协议