【发布时间】:2010-11-06 15:45:46
【问题描述】:
我有以下情况。我为我的公司创建了一个 ASP.NET Web 应用程序(框架 3.5),它允许用户购买商品或服务。然后,用户点击“Proceed to Payment”,调用外部支付站点。然后用户通过该站点输入卡的详细信息。
在用户成功交易的情况下,支付网站正在对 .aspx 页面(比如 Success.aspx)执行 CGI 调用。因此,我创建了这个 .aspx 页面,并将其连同它的 aspx.vb 文件一起放置在我网站的根目录中(它将执行成功交易的处理,例如设置 Paid、PaidDate 字段等)。发生的事情是交易成功,支付网站公司的日志显示正在找到并调用 Success.aspx ......但是,Successful.aspx.vb 没有执行任何处理(即这些字段根本没有设置)。
我缺少关于 CGI 调用的内容吗?
【问题讨论】:
-
您能在 IIS 日志中看到对 Sucessful.aspx 的命中吗?如果在浏览器中加载 Sucessful.aspx 是否可以正常工作?
-
支付网站正在找到Successful.aspx 页面。这是一个正常且最小的.aspx 页面。我怀疑也许通过 CGI 回调代码隐藏不会被调用?
-
CGI 击中 aspx 与浏览器击中它是一样的。
-
您好 Russau,感谢您的 cmets。那么,当成功的.aspx 页面被点击时,Session_Start 也会在 Global.asax.vb 中被调用吗?由于此应用程序,您必须登录才能转到特定页面,但在 Session_Start 我正在做一个例外,以便在任何页面的情况下都会重定向到“Login.aspx”,但在包含“Successful.aspx”的 URL,它将重定向到 Request.Rawurl.tostring。该 CGI 调用的 URL 是否与浏览器中的 URL 相同,我可以在尝试时重定向吗?谢谢。
-
Session_Start 可能会在每次点击时触发 - 因为 CGI 客户端不会在连续点击之间存储 cookie。检查您的 IIS 日志以查看您收到的是 200 状态代码(成功)还是 302(重定向)。客户端也有可能不服从重定向,如果可以的话最好避免这种情况。
标签: asp.net cgi callback payment-gateway