C# 我的.Net核心应用程序如何使用来自其他应用程序的会话变量?

C# 我的.Net核心应用程序如何使用来自其他应用程序的会话变量?,c#,asp.net-core,session-variables,C#,Asp.net Core,Session Variables,我的.Net核心应用程序需要使用另一个应用程序(WebForms应用程序)中设置的会话变量。以下是如何在WebForms应用程序中配置它: <sessionState mode="SQLServer" sqlConnectionString="data source=.;UID=SessionStateUser;Password=somepassword;Connect Timeout=15;" timeout="20" /> 如何从我的.Net Core应用程序访问

我的.Net核心应用程序需要使用另一个应用程序(WebForms应用程序)中设置的会话变量。以下是如何在WebForms应用程序中配置它:

    <sessionState mode="SQLServer" sqlConnectionString="data source=.;UID=SessionStateUser;Password=somepassword;Connect Timeout=15;" timeout="20" />


如何从我的.Net Core应用程序访问会话变量?

这不完全是您的情况,但我能够从我的ASP.Net Core web应用程序中获得一个单独的web应用程序来访问会话数据(存储在SQL Server中)

在ASP.NET Core中,在SQL Server支持下,会话存储在具有列ID和列值的表中。 ID是会话ID,值是会话数据

会话id作为加密值存储在名为.AspNetCore.session的cookie中。 在我单独的web应用程序中,我检索了这个cookie的值,对其进行了未保护/未加密,然后利用一些开源asp.net核心代码(特别是IDistributedCache)使用未加密密钥加载会话数据

这一切都相当复杂,我非常害怕必须升级我提取的一些代码(尽管它不是太多代码)

所以,这是一个类似的情况,这是可行的。但这只是作为最后手段,如果可能的话,我会尝试找到一个不同的解决方案


也许这会给你一些想法……

如果没有大量的工作,你可能无法做到这一点。如果您想在两个应用程序之间共享数据,您可能需要建立一些新的独立存储,这样您就不必将现有的概念转向它不适用的方向。@poke我更新了我的问题。你可以看到这个商店是存在的。我的观点是,如果你使用的是一些为WebForms设计的概念,那么你将很难在ASP.NET核心中使用它。另一个方向也是如此。如果您自己创建一些东西,那么您可以用一种方式来设计它,使其易于从两个应用程序中使用。@我与asp.net MVC 5应用程序共享这些会话变量,因此我认为也可以使用.net Core。。。