asp.net - 会话变量在来自另一个提供者的回调中丢失
问题描述
我们的应用程序在 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),我们有一个 3 步加入流程,我们收集个人详细信息、账单详细信息、帐户创建详细信息,每一步都会更新会话变量中的信息
在提交时,应用程序通过传递帐单详细信息和回调 URL 来调用支付提供商 API 以发布交易状态,成功交易后,我们将在我们的应用程序上创建一个用户,并将所有详细信息存储在会话中
问题 :
在从支付提供商 POST 回回调 URL 时,我的带有用户详细信息的会话变量丢失,创建了一个新的会话 ID
在 Post back 之前,有 15 个会话变量
回发后有 3 个会话变量
有关如何解决此问题的任何帮助?
解决方案
推荐阅读
- r - 如何从 waldo::compare() 返回的对象中提取出色的值?
- mysql - 即使未安装 MySQL,如何确保 MySQL 应用程序可以在客户端的 PC 上运行
- python - 如何使用 itertools.groupby() 按月和年对项目进行分组
- javascript - echarts图表中如何去除Y轴上的字母?
- c - 汇编中的可变字节设置为 48
- api - Flutter REST API 安全性
- css - 显示下拉菜单不起作用css
- python - 重复产品占总数的百分比
- angular - 无法读取未定义的属性合并,角度
- python - 使用 CPPO 读取具有已知对象类、程序集实例、属性 ID 的以太网/IP 设备