各位大哥,帮我看看是什么问题?
1.先建立两个站点A与B,
A的http://10.66.13.254/SessionLogin/Login.aspx
B的http://10.66.13.254/SessionUser/User.aspx
2.两个的web.config
<sessionState
mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:42424"
cookieless="false"
timeout="20" />
或者两个都是
<sessionState
mode="StateServer"
stateConnectionString="tcpip=10.66.13.254:42424"
cookieless="false"
timeout="20" />
3.启动ASPState服务
4.修改Session服务器注册表中的项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \aspnet_state\Parameters中的AllowRemoteConnection 键的值为1,其中的Port值为 42424 ;修改后需要重启ASP.NET State Service;
在A站点设置了
Session["UserName"] = Value
B站点的值还是为空...............????????............为什么?
Session["UserName"] == null ? "the session is null!" : Session["UserName"].ToString();
mode="StateServer"设置应该成功了的,因为站点A登录后,重启IIS后,再在A的另一个页面查看,Session[UserName]的值还在,但B站点Session[UserName]不知什么原因就是显示不了A站点的Session[UserName]
你看下asp.net 状态服务是不是没有启动,没有的话启动下..
有了。你看一下第三点。里写着启动了,谢谢
记得对于每一个webapp服务器都会生成一个类似ID的唯一值,向state server取值时是拿着SessionID和生成的ID一起作为标识位的,所以你在站点A设置的Session在站点B中是空值
那怎么样解决呢?我看到网络上好多人都是说这样设置的