2013-03-01 180 views
5

我有两个web应用程序,一个在.net 3.5框架和另一个在.net 4.0框架(带有Razor的MVC)。我已经在子域中上传了3.5主框架应用程序和4.0框架应用程序。我想在这个应用程序之间分享会话。我正在使用会话状态模式作为sql服务器。我尝试了解决方案,如应用程序名称在会话SQL服务器连接字符串和修改存储过程TempGetAppIDASPState数据库。它在当地非常完美,但是当我上传到现场时,它不会共享会话。然后我也试着在域之间共享cookie,但它也不起作用。所以我认为它需要在服务器上进行一些更改,但我不知道在哪里进行更改。任何人都可以帮忙?两个域之间的会话共享

+1

他们是否共享相同的应用程序池(不知道这件事情,但它是一个最好的猜测atm)。在本地,我认为他们会共享相同的应用程序池,这可能是为什么它的作品。 – webnoob 2013-03-01 09:34:37

+1

您必须确保2个应用程序连接到相同的数据库文件并具有相同的应用程序ID(在数据库上) – Aristos 2013-03-01 10:06:39

+0

http://stackoverflow.com/a/3151315和http://stackoverflow.com中提到的试验解决方案/ a/2461502? – 2013-03-01 12:09:59

回答

0

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

相关问题