.net如何实现主站和虚拟目录共用一个Session?网站是内部系统,用的是IP访问,不是域名。

解决方案 »

  1.   

    Session可以通过3种方式存储
    1,数据库(SQL Server)
    2,ASP.NET State Service
    3,本地内存<sessionState mode="Off|InProc|StateServer|SQLServer" 
                  cookieless="true|false" 
                  timeout="number of minutes" 
                  stateConnectionString="tcpip=server:port" 
                  sqlConnectionString="sql connection string" 
                  stateNetworkTimeout="number of seconds" /> mode(设置将服务器的Session信息存储到哪里)Off表示设置为不使用Session功能;
    InProc表示将Session存储在进程内,这也是ASP中的存储方式,这是默认值;
    StateServer表示将Session存储在独立的状态服务即ASP.NET State Service中;
    SQLServer表示将Session存储在SQL Server。具体的可以参考
    https://www.baidu.com/s?wd=.net%20Session%20模式
      

  2.   

    <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="480" />
    我主站上配置是这样写的,可是在虚拟目录上获取不到主站的session
      

  3.   


    可以尝试下面步骤:
    1,先确认服务State Service有没有启动,端口正不正确
    2,尝试端口不填写,如果是同一台主机的话
    3,防火墙端口开放了没有
    4,主站是否可以正常读写
    5,两个站点是否一样配置
      

  4.   

    参考这个,配置一下:
    http://www.blogjava.net/Hopes/articles/385313.html
      

  5.   


    可以尝试下面步骤:
    1,先确认服务State Service有没有启动,端口正不正确
    2,尝试端口不填写,如果是同一台主机的话
    3,防火墙端口开放了没有
    4,主站是否可以正常读写
    5,两个站点是否一样配置
    State Service服务有启动,端口号有开,还是不行