代码之家  ›  专栏  ›  技术社区  ›  Sako73

能否在Web窗体应用程序和Asp之间共享SQL Server会话。NET Core MVC应用程序?

  •  0
  • Sako73  · 技术社区  · 7 年前

    我们有一个ASP。运行在上的net Web窗体应用程序。NET 4.61框架和Asp。NET核心应用程序运行在同一服务器上。NET 4.61框架。

    Web表单应用程序使用会话cookie和SQL Server存储会话信息。

    有没有办法配置Asp。NET核心应用程序来读取和使用该会话数据?

    谢谢

    1 回复  |  直到 7 年前
        1
  •  2
  •   Chris Pratt    7 年前

    否。无法在ASP之间共享会话状态。NET应用程序和ASP。NET核心应用程序。这主要有两个原因:

    1. ASP。NET和ASP。NET核心句柄会话存储不同。在ASP中。NET中,您有会话提供程序,而在ASP中。NET核心,它使用 IDistributedCache 对于会话状态。虽然您可以将SQL Server之类的工具用于这两种情况,但实际存储状态的机制在每种情况下都不相同,因此,一方无法读取另一方正在执行的操作。

    2. 对会话数据进行了加密,并介绍了ASP中的加密机制。NET不同于ASP。净核心。在ASP中。NET中,机器密钥用于加密/解密,但在ASP。NET内核,没有机器密钥的概念。相反,ASP。NET Core使用的实例 IDataProtectionProvider 加密/解密。因此,即使您可以让两者都看到相同的会话存储 如果能够读取数据,则两者都无法解密另一方存储的数据。