Csharp/C#教程:使用SQL Server在两个ASP.NET应用程序之间共享会话状态分享


使用SQL Server在两个ASP.NET应用程序之间共享会话状态

我正在开发一个网站,该网站需要在同一个域上的cms应用程序和在线商店应用程序之间共享会话,例如。

mydomain.com 

 store.mydomain.com 

我已经取得了一些进展,它适用于我之间的本地构建

 localhost/cms 

 localhost/store 

基本上我已经完成了本文的建议

https://blogs.msdn.com/toddca/archive/2007/01/25/sharing-asp-net-session-state-across-applications.aspx

并攻击TempGetAppID存储过程以返回相同的应用程序ID(1)。 这似乎有效,因为它创建了像’abv5d2urx1asscfwuzw3wp4500000001’这样的ID,这是我所期望的。

我的问题是,当我将它部署到我们的测试环境时,它会在我在两个站点之间导航时创建一个新会话。 所以当我在cms网站上开始会话时,如果我导航到商店,它会创建一个新会话。 这些在IIS7中设置为2个不同的网站。

在两个站点的web.config文件中,和元素都相同,如下所示(减去敏感信息)

有没有人知道为什么这可能不起作用? 我正在两个站点共享表单身份validation,并且工作正常。 任何帮助或想法将不胜感激!

非常感谢

戴夫

我们遇到的问题似乎是会话cookie域在2个应用程序上的设置不同。 这意味着每个应用程序都生成了自己的sessionId。

我们将到我们的web.config中,这似乎解决了它。 感谢您的帮助,希望这对未来的其他人有所帮助。

使用会话ID作为密钥,在SQL服务器上保留所有会话数据。 然后使用包含指向.mydomain.com的会话ID的cookie,以便它可以在两个子域上使用。

这篇文章在15秒内涵盖了主题,甚至展示了一种在完全不同的域中共享会话的技术。

上述就是C#学习教程:使用SQL Server在两个ASP.NET应用程序之间共享会话状态分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1011404.html

(0)
上一篇 2021年12月30日
下一篇 2021年12月30日

精彩推荐