Dav*_*ave 8 c# session-state multiple-domains asp.net-3.5
我正在开发一个网站,该网站要求在同一个域上的cms应用程序和在线商店应用程序之间共享会话,例如.
mydomain.com
Run Code Online (Sandbox Code Playgroud)
和
store.mydomain.com
Run Code Online (Sandbox Code Playgroud)
我已经取得了一些进展,它适用于我之间的本地构建
localhost/cms
Run Code Online (Sandbox Code Playgroud)
和
localhost/store
Run Code Online (Sandbox Code Playgroud)
基本上我已经完成了本文的建议
并攻击TempGetAppID存储过程以返回相同的应用程序ID(1).这似乎有效,因为它创建了像'abv5d2urx1asscfwuzw3wp4500000001'这样的ID,这是我所期望的.
我的问题是,当我将它部署到我们的测试环境时,它会在我在两个站点之间导航时创建一个新会话.因此,当我在cms网站上启动会话时,如果我导航到商店,它会创建一个新会话.这些在IIS7中设置为2个不同的网站.
在两个站点的web.config文件中,和元素都相同,如下所示(减去敏感信息)
有没有人知道为什么这可能不起作用?我正在两个站点共享表单身份验证,并且工作正常.任何帮助或想法将不胜感激!
非常感谢
戴夫
我们遇到的问题似乎是会话cookie域在2个应用程序上的设置不同.这意味着每个应用程序都生成了自己的sessionId.
我们添加
<httpCookies domain=".ourdomain.co.uk" />
到我们的web.config,似乎已经解决了它.谢谢你的帮助,希望这对未来的其他人有所帮助.