Как мое приложение .Net Core может использовать переменные сеанса из другого приложения? - PullRequest
1 голос
/ 10 июля 2019

Моему приложению .Net Core необходимо использовать переменные сеанса, установленные в другом приложении (приложении WebForms).Вот как это настроено в этом приложении WebForms:

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

enter image description here

Что я могу сделать, чтобы получить доступ к переменным сеанса из моего приложения .Net Core?

1 Ответ

1 голос
/ 10 июля 2019

Это не совсем ваша ситуация, но мне удалось получить отдельное веб-приложение для доступа к данным сеанса (хранящимся в SQL Server) из моего веб-приложения ASP.NET Core.

В ASP.NET Coreпри поддержке SQL Server сеанс сохраняется в таблице с идентификатором столбца и значением столбца.Идентификатор - это идентификатор сеанса, а значение - это данные сеанса.

Идентификатор сеанса хранится в виде зашифрованного значения в файле cookie с именем .AspNetCore.Session.В моем отдельном веб-приложении я извлек значение этого файла cookie, незащищенный / незашифрованный, а затем использовал часть основного кода asp.net с открытым исходным кодом (особенно IDistributedCache) для загрузки данных сеанса с использованием незашифрованного ключа.

Все это было довольно сложно, и я очень боюсь обновить часть кода, который я извлек (хотя это был не слишком большой код).

Итак, это похожеСитуация и это было выполнимо.Но сделал это только в крайнем случае, и я постараюсь найти другое решение, если это возможно

Может быть, это дает вам некоторые идеи ...

...