.net中SessionState相关配置

Mr_D 2012-10-29 04:35:37
2、inProc模式(缺省模式)

它允许“无Cookie”的会话,以及在服务器之外存储
会话数据。ASP.NET会话状态模块在Web.config文件中像下面这样配置:

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

在这个例子中,mode属性设为InProc(默认值),表明会话状态要由ASP.NET存储到内存中,而且
不用Cookie来传递会话ID。采取这种方式,不管Cookie还是隐藏表单字段都用不着了。
所以,即使网页中没有使用表单,也能加入会话。 但是这种方法,应用程序的状态将依赖于 ASP.NET进程, 当IIS进程崩溃或者正常重启时,保存在
进程中的状态将丢失。

这是网上查到的原话,不明白这里的“不管Cookie还是隐藏表单字段都用不着了。”是什么意思,求指导!
...全文
446 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
摇滚雪碧 2012-10-30
  • 打赏
  • 举报
回复
session默认20分钟后清除,就是 timeout="20",如果5分钟清除就是 timeout="5"

而且是你没有动作的5分钟后,如果每隔3分钟你都访问一次服务器,这样是永不清除的,直至你关闭浏览器

但是时间越长,服务器压力越大
Mr_D 2012-10-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

1.楼主提供的代码是错误的,
如果要在不支持cookie的场合使用session,cookieless设置为true,而不是false
2.session标识两种方式存储:
1)cookieless=false,默认方式,sessionId存放在cookie
2)cookieless=true,sessionId存放在url
[/Quote]
其实我想设置session【】隔一段时间就自动清除,所以我才上网查了。
然后我实现的方法是
<sessionState mode="InProc" timeout="20" />
不知道这样是不是正确的?
Mr_D 2012-10-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

就是不用把用户登录状态(session)存入cookie或者隐藏域中,没别的意思。
session我喜欢用mode="StateServer",这样就不用担心session经常丢失。
[/Quote]
其实我想设置session【】隔一段时间就自动清除,所以我才上网查了。
然后我实现的方法是
<sessionState mode="InProc" timeout="20" />
不知道这样是不是正确的?
缪军 2012-10-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
其实我想设置session【】隔一段时间就自动清除,所以我才上网查了。
然后我实现的方法是
<sessionState mode="InProc" timeout="20" />
不知道这样是不是正确的?[/Quote]


首先:
设置IIS:启动IIS管理器->应用程序池->右键->属性->性能->空闲超时
默认值:20,改为1440(单位:分钟);
然后:
设置你要修改的站点:Web站点虚拟目录->属性->ASP.net->编辑配置->状态管理->会话超时
默认值:20,改为1440(单位:分钟);


缪军 2012-10-29
  • 打赏
  • 举报
回复
常用的sessionstate模式:
1.inProc模式:受IIS进程影响,容易丢失,但是也正因如此,是唯一支持Session_OnEnd 事件的模式;
2.StateServer模式 :提供独立的状态服务,即使web应用程序重启,会话仍然保持;
3.SQLServer 模式:利用sqlserver提供状态存储,即使web应用程序重启,会话仍然保持,
并且,利用故障转移集群,可以让其他sqlserver接管故障服务,而不会丢失session
缪军 2012-10-29
  • 打赏
  • 举报
回复
1.楼主提供的代码是错误的,
如果要在不支持cookie的场合使用session,cookieless设置为true,而不是false
2.session标识两种方式存储:
1)cookieless=false,默认方式,sessionId存放在cookie
2)cookieless=true,sessionId存放在url
XBodhi. 2012-10-29
  • 打赏
  • 举报
回复
SESSION 和 Cookie 就不是一个东西。 为什么要网一起扯那。

事理 2012-10-29
  • 打赏
  • 举报
回复
就是不用把用户登录状态(session)存入cookie或者隐藏域中,没别的意思。
session我喜欢用mode="StateServer",这样就不用担心session经常丢失。

111,077

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧