Объекты сеанса не извлекаются в другом веб-приложении в том же решении

У меня есть два веб-сайта ReportsSite и CustomerPortal. Я вхожу в CustomerPortal, успешно выполняю вход. Создаю два объекта Session: Session [UserDetails] и Session [Uri]. На портале для клиентов есть ссылка, которая открывает домашнюю страницу ReportsSite. К объектам сеанса, созданным на клиентском портале, нельзя получить доступ в ReportSite, несмотря на то, что сайты работают в одной системе из Visual Studio. Если вернуться на CustomerPortal, нажав кнопку «Назад», объекты сеанса станут доступны. Режим состояния сеанса - InProc

Является ли передача переменной сеанса через строку запроса ссылки опцией?

Muayyad Diab 13.09.2018 18:43

Если состояние вашего сеанса - InProc, то каждое веб-приложение будет поддерживать собственное состояние сеанса. Вам нужно будет перейти к провайдеру общего состояния сеанса, например, sql server, redis и т. д.

bhmahler 13.09.2018 18:48

@Baral да .. я использую SSO ..

Himanshu Shirodkar 13.09.2018 18:49

@bhmahler, но не будет ли использование состояния SqlSever тяжелым?

Himanshu Shirodkar 13.09.2018 18:50

@MuayyadDiab Нет .. Мой объект сеанса содержит данные авторизации.

Himanshu Shirodkar 13.09.2018 18:50

Не обязательно, поставщик состояния сеанса для sql-сервера довольно легкий. Если вам нужно, чтобы он разделялся между процессами, вы должны использовать то, что оба процесса могут получить доступ

bhmahler 13.09.2018 18:51

@bhmahler Хорошо. Проверим.

Himanshu Shirodkar 13.09.2018 18:56
0
7
21
1

Ответы 1

Вам нужно будет перейти к использованию общего поставщика состояний сеансов, чтобы оба приложения имели доступ к хранилищу сеансов.

SQL Server - это вариант https://support.microsoft.com/en-us/help/317604/how-to-configure-sql-server-to-store-asp-net-session-state

Подробнее о состоянии сеанса https://msdn.microsoft.com/en-us/library/ms178586.aspx

SQLServer mode stores session state in a SQL Server database. This ensures that session state is preserved if the Web application is restarted and also makes session state available to multiple Web servers in a Web farm.

Другие вопросы по теме