两个域之间的会话共享

时间:2013-03-01 09:32:18

标签: asp.net asp.net-mvc-4 session-state

我有两个Web应用程序,一个在 .net 3.5 框架中,另一个在 .net 4.0 框架中(带有Razor的MVC)。我在主域中上传了3.5框架应用程序,在子域中上传了4.0框架应用程序。我想在这个应用程序之间共享会话。我使用会话状态模式作为sql server。我尝试了在会话sql server连接字符串中应用应用程序名称以及在 ASPState 数据库中修改存储过程 TempGetAppID 的解决方案。它在本地工作完美,但当我上传到现场它不共享会话。然后我也尝试了域之间的cookie共享,但它也没有用。所以我认为它需要在服务器上进行一些更改,但我不知道在哪里进行更改。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

生产环境中最常见的不同之处是每个应用都有自己的machineKey。您可以使用this generator生成一个并将其放入两个应用程序的配置中,这样他们就可以从其他应用程序解密cookie。默认情况下,会话状态还包含包含会话密钥的cookie,并且为了能够共享会话,您应该首先能够共享cookie。