none
问一个关于Session State的问题 RRS feed

  • 问题

  • 我如果启用Session State服务,是不是我生产环境里面,多个程序凡是吊用这个服务存SESSION的话,他们的SESSION管理都放在同一个进程里面进行管理的?
    • 已移动 孟宪会Moderator 2009年8月18日 1:09 (发件人:Web 相关讨论(IIS,IE8等))
    2009年8月18日 1:08

答案

全部回复

  • Session State服务应该是一个统一的管理器。与站点无关。就像iis admin管理多个站点类似
    【孟子E章】
    2009年8月18日 1:11
    版主
  • 那比如说我有二个ASP。NET的站点
    在web.config里面都这么设置 <sessionstate mode="stateserver" stateconnectionstring="tcpip=localhost:42424" timeout="60"/>

    是不是session的管理都放在同一个sessoin state 管理器里面进行自行管理

    那这个进程有没有回收呢,如果这样一回收,那不是所有的session都没有了嘛(不是重启服务器)

    2009年8月18日 1:30
  • 是的 还要设置机器码 <machineKey>
    一般情况下不会丢失的
    2009年8月18日 1:42
  • machineKey 我怎么设置?
    2009年8月18日 1:51
  • 那比如说我有二个ASP。NET的站点
    在web.config里面都这么设置 <sessionstate mode="stateserver" stateconnectionstring="tcpip=localhost:42424" timeout="60"/>

    是不是session的管理都放在同一个sessoin state 管理器里面进行自行管理

    那这个进程有没有回收呢,如果这样一回收,那不是所有的session都没有了嘛(不是重启服务器)

    timeout属性可以设置过期时间,过期将被清除!
    jon.valett@gmail.com
    2009年8月18日 1:55
    版主
  • 那有必要设置machineKey 嘛,我现在几个网站里面都只加了这么一句sessionstate的设置,这样会不会引起冲突(1台服务器多个站点)
    还有machineKey 这个是一个什么东西,有什么作用,里面的值是从哪里取到的,谢谢!

    2009年8月18日 1:57
  • <machineKey
       validationKey="AutoGenerate,IsolateApps"
       decryptionKey="AutoGenerate,IsolateApps"   
       validation="SHA1"
       decryption="Auto"
    />

    详细内容,请参考MSDN文档,http://msdn.microsoft.com/zh-cn/library/w8h3skw9(VS.80).aspx
    2009年8月18日 2:01
    版主
  • 2009年8月18日 2:01
  • 这个machineKey 的算法我看到了,我也试了,他只是一个生成二个值
    我可以用这个算法算出这个二个值写在web.config里面
    但有一个疑惑,这个值在web.config里面写好后,程序里面要不要用这个值去解密还是他只是一个机器KEY的标实用,ASP。NET他会自动引用为唯一标实

    2009年8月18日 2:11
  • 那个生成一次就可以 你把这个key在第一个机器 设置  还要第二个机器复制一下 两个机器key同样才有效的
    2009年8月18日 2:19
  • 你好:mldark
         什么叫第一个机器设置,第二个机器还要在复制

         比如说我有一台web,上面有二个asp.net程序,我给这二个站点分别设置了二个不同的machineKey 以区分这二个不同的web站点
         这是一台机器,那我第二个机器是什么呢?

    2009年8月18日 2:24
  • 晕了  我以为你是多台服务器的站点  不好意思
    2009年8月18日 2:27
  • 你说的是不是,同一个程序多服务负载均衡,在多台服务器上设置相同的KEY是吧

    2009年8月18日 2:31
  • 是的  如果一台机器里有多个站点的话 没必要机器码了 只要设置session的 Cookie就可以了
    2009年8月18日 2:41
  • 你好,开启状态服务后会启动aspnet_stat.exe这个进程
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年8月18日 2:50
    版主
  • 嗯,好的谢谢有一点理解了

    2009年8月18日 2:56
  • 那这个aspnet_stat.exe进程会不会像w3wp.exe那样回收呢,如果会回收那不惨了,一下子所有的session都没有拉。

    2009年8月18日 2:58
  • 你好 这个是随系统服务启动而启动停止而停止的,当然你可以手动结束进程
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    2009年8月18日 3:00
    版主
  • 一般情况下不会的 你可以想象一下 进程都是在内存里执行的  除非内存不足会回收的  不然的话 session server没意义的   不是像sqlserver session那样存储

    2009年8月18日 3:02
  • 好的,谢谢~

    2009年8月18日 3:02