Использование состояния сеанса в приложении ASP.NET Core 2.0 в IFrame - PullRequest
0 голосов
/ 07 февраля 2019

Я создаю чат-бота, который живет внутри IFrame на сайтах клиентов.Сам бот использует AJAX для связи с сервером .NET Core 2.

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

Теперь причина этого в том, что я использую cookie-файл сеанса, и большинству браузеров не нравится этот подход при работе с Iframes.Обычное решение ASP.NET MVC состояло бы в том, чтобы использовать файлы cookie без сеанса, но, как и во многих других наземных минах в .NET CORE, сеансы без файлов cookie не поддерживаются.

Так что теперь я застрял и не знаючто делать.

1 Ответ

0 голосов
/ 07 февраля 2019

Простое решение: измените содержимое div, используя возвращаемую информацию AJAX.Не используйте Iframes вообще.Нет необходимости использовать iframe.

Вам нужно использовать Iframe только тогда, когда возвращаемое содержимое является полной HTML-страницей.Исходя из того, что вы сказали, вы можете просто вернуть содержимое DIV.

Чтобы сохранить постоянство, просто установите исходное содержимое DIV в качестве данных состояния сеанса при загрузке страницы.

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