Переменные сеанса теряются при обратном вызове от другого провайдера - PullRequest
0 голосов
/ 24 апреля 2020

Наше приложение работает на ASP. net MVC 5, Net Framework 4.6, мы используем пользовательское SQL Состояние сеанса

<sessionState mode="Custom" customProvider="mssql" cookieless="false" timeout="20">
  <providers>
    <add name="mongo" type="Sitecore.SessionProvider.MongoDB.MongoSessionStateProvider, Sitecore.SessionProvider.MongoDB" sessionType="Standard" connectionStringName="session" pollingInterval="2" compression="true" />
    <add name="mssql" type="Sitecore.SessionProvider.Sql.SqlSessionStateProvider, Sitecore.SessionProvider.Sql" sessionType="private" connectionStringName="session" pollingInterval="2" compression="true" />
    <add name="redis" type="Sitecore.SessionProvider.Redis.RedisSessionStateProvider, Sitecore.SessionProvider.Redis" applicationName="Application" connectionString="session" pollingInterval="2" compression="true" />
  </providers>
</sessionState>

В настоящее время мы работаем над Интеграция провайдера платежей (worldpay), у нас есть трехэтапный процесс присоединения, где мы собираем личные данные, платежные данные, детали создания учетной записи, каждый шаг обновляет информацию в переменной сеанса

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

Проблема:

При возврате к обратному URL-адресу обратного вызова от провайдера платежей моя переменная сеанса с данными пользователя теряется, создается новый идентификатор сеанса

Перед отправкой назад существует 15 переменных сеанса

enter image description here

После обратной передачи есть 3 переменные сеанса

enter image description here

Любой хе ЛП о том, как это можно решить?

...