我正在尝试从主 VB.Net 网站和子域 C# MVC 4 共享会话。
我为两个站点提供了相同的 ASP.NET_SessionId Cookie,在即时调试器中我可以看到两个 Session 对象具有相同的 SessionID。但是,当我从 VB.Net 网站设置会话时Session("TestSession") = "SimpleString"
,如果我从 MVC 应用程序调用即时窗口中的会话对象,则计数为 0。
如果我在 MVC 应用程序中设置会话,在 VB.Net 网站中找不到它,情况也是如此。
最好我想使用 StateServer 模式,但我读过只有 SQLServer 模式适用于跨域支持。
这是两个站点中都存在的 web.config
<httpCookies domain=".example.localhost"/>
<sessionState mode="SQLServer" sqlConnectionString="Data Source=(local);Integrated Security=True" />
<machineKey validationKey="XXX" decryptionKey="XXX" validation="SHA1" compatibilityMode="Framework20SP1" />