【问题标题】:Can you share a SQL Server session between a Web Forms app and a Asp.NET Core MVC app?您可以在 Web 窗体应用程序和 Asp.NET Core MVC 应用程序之间共享 SQL Server 会话吗?
【发布时间】:2018-02-20 16:04:59
【问题描述】:

我们有一个在 .NET 4.61 框架上运行的 ASP.NET Web 窗体应用程序,以及一个在同一个 .NET 4.61 框架上运行的 Asp.NET Core 应用程序。

Web 窗体应用程序使用会话 cookie 和 SQL Server 来存储会话信息。

有没有办法配置 Asp.NET Core 应用程序以读取和使用该会话数据?

谢谢。

【问题讨论】:

    标签: asp.net-core asp.net-core-mvc asp.net-core-2.0


    【解决方案1】:

    没有。无法在 ASP.NET 应用程序和 ASP.NET Core 应用程序之间共享会话状态。这是因为两个主要原因:

    1. ASP.NET 和 ASP.NET Core 处理会话存储的方式不同。在 ASP.NET 中,您有会话提供程序,而在 ASP.NET Core 中,它使用IDistributedCache 表示会话状态。虽然您可以为两者使用 SQL Server 之类的东西,但在每种情况下实际存储状态的机制并不相同,因此,一个人无法读取另一个人在做什么。

    2. 会话数据是加密的,ASP.NET 中的加密机制与 ASP.NET Core 不同。在 ASP.NET 中,机器密钥用于加密/解密,但在 ASP.NET Core 中,没有机器密钥的概念。相反,ASP.NET Core 使用IDataProtectionProvider 的实例来加密/解密。因此,即使您可以让双方都看到同一个会话存储并且能够读取它,但双方都无法解密对方存储的数据。

    【讨论】:

      猜你喜欢
      • 2018-12-24
      • 1970-01-01
      • 2023-03-27
      • 2011-01-25
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      • 2018-12-20
      • 2011-02-02
      相关资源
      最近更新 更多