【发布时间】:2020-11-11 15:53:48
【问题描述】:
我正在开发一个基于ASP.NET MVC 的电子商务网站。我们正在使用第三方支付网关进行在线支付交易。基本上,我使用successUrl 和failUrl 将用户重定向到支付网关。如果一切顺利,支付网关会将用户重定向到我的successUrl。
我面临的问题是,一旦用户被重定向到我的successUrl,我就会丢失所有会话数据。因此,我无法跟踪此用户,也无法进一步处理订单。更多详情:
- 我正在使用
InProcSessionState - 我在 SessionState 中定义了
timeout,但这没有帮助 - 我还在
Global.asax文件的Session_Start方法中定义了Session.Timeout - 目前我的应用程序使用
http,支付网关使用https - 支付网关建立在
PHP之上
我的尝试:
我创建了一个虚拟 API,然后从我的电子商务应用向它发送了一个请求,然后将其重定向到我的电子商务应用。在这种情况下,我不会丢失我的会话数据。所以,我不确定这里出了什么问题。
我知道有解决办法,但我更想知道为什么我会丢失会话数据。幕后究竟发生了什么?我能做些什么来解决这个问题?如果你能详细说明,那真的很有帮助。
更新
我刚刚在 Firefox(版本 76.x)和我的解决方案中测试了我的解决方案 作品!!但它不适用于 chrome(75.x 版)
【问题讨论】:
标签: c# api google-chrome redirect session-state