【问题标题】:How to share sessions between ASP.NET Web Apps in same machine and same application pool?如何在同一台机器和同一应用程序池中的 ASP.NET Web 应用程序之间共享会话?
【发布时间】:2019-08-12 05:52:19
【问题描述】:

我在同一台机器上有两个 ASP.NET Web 应用程序;

1) ASP.NET WebForm Web 应用程序 - wwwroot/publicsite
2) ASP.NET MVC Web 应用程序 – wwwroot/test/mysite

我可以创建一个应用程序池并将其设置为两个 Web 应用程序。

是否有任何简单的方法可以在两个 Web 应用程序之间共享会话,而无需通过 DB 使用自定义会话提供程序?
(比如修改web.config等等)

最好的问候。

【问题讨论】:

标签: c# asp.net session


【解决方案1】:

所以,我还没有开发这个,所以我将描述这个场景,当我编码后我可以编辑这个答案,但这里是短期的:

您可以编辑您的页面类(并使用该自定义页面类或 HttpApplication 类)以使用序列化将会话对象“保存”到 cookie 中,并在加载时获取该 cookie(或开始请求,如果在 httpapplication 上设置)页面。因此,任何站点都会查询相同的 cookie 以获取会话对象(因为 SessionState 类基本上是对象的集合 - 请参阅 MSDN Code Page for SessionState)。如果两个应用程序使用相同的基类和自定义 Page(或 HttpApplication)类,在开始请求和写入响应时间序列化和反序列化会话对象,您所需要的一切。

【讨论】:

    猜你喜欢
    • 2011-03-30
    • 2016-06-29
    • 2023-03-27
    • 2011-02-02
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    相关资源
    最近更新 更多