Доступ к информации о сеансе, хранящейся в приложении SQL Server для платформы .NET Framework, в приложении .NET core Razor Pages.
Сеанс, хранящийся в SQL Server с .NET Framework, хранится иначе, чем в .NET Core. Есть ли какое-либо решение, с помощью которого мы можем сопоставить соответствующие столбцы и получить к ним доступ? В таблице ASPStateTempSessions хранятся сведения о сеансе для веб-приложения .NET.
services.AddDistributedSqlServerCache(options =>
{
options.ConnectionString = Configuration.GetConnectionString("SessionDB");
options.SchemaName = "dbo";
options.TableName = "ASPStateTempSessions";
});
HttpContext.Session.GetString("firstname") имеет значение null в приложении .NET Core.
Несмотря на то, что в их названии используется слово «ASP.NET», лучше всего думать о них как о совершенно разных платформах, потому что они есть. Вы не ожидаете, что сможете совместно использовать состояние сеанса между приложением ASP.NET и приложением Ruby on Rails, поэтому не так уж удивительно отсутствие возможности совместного использования с приложением ASP.NET Core.
Мне не удалось прочитать информацию о сеансе в приложении .NET Core, но я смог добиться того, чего хотел, с помощью этого пакета npm https://github.com/dazinator/AspNetCore.LegacyAuthCookieCompat
Просто, нет. Однако здесь вы имеете дело не только с хранилищем. В игре также присутствует шифрование. Благодаря поддержке OWIN в MVC 5 вы можете сделать так, чтобы приложения ASP.NET MVC 5 и приложения ASP.NET Core совместно использовали поставщиков защиты данных (на основе OWIN), что позволяет одному расшифровывать то, что шифрует другой. Однако, если вы имеете дело с чем-то вроде приложения Web Forms, вам не повезло. И, конечно же, это не решает проблему поддержки SQL.