1


我正在尝试在我的 asp.net 网站中实现第一个数据支付网关。

我已经完成了所有事情,现在我可以重定向到https://checkout.globalgatewaye4.firstdata.com/payment并且付款完成,但是 FirstData 正在重定向到我在 Result.aspx 页面上的网站。

在该页面上,我如何知道付款是否成功完成或发生任何错误等。我知道它以 POST 方法发送响应代码,但是当进入我的网页时,它会给出如下错误:

“/”应用程序中的服务器错误。

视图状态 MAC 验证失败。如果此应用程序由 Web Farm 或集群托管,请确保 <machineKey> 配置指定相同的验证密钥和验证算法。AutoGenerate 不能在集群中使用。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息: System.Web.HttpException:视图状态 MAC 验证失败。如果此应用程序由 Web Farm 或集群托管,请确保 <machineKey> 配置指定相同的验证密钥和验证算法。AutoGenerate 不能在集群中使用。



任何帮助...

提前致谢..

4

2 回答 2

0

我和我的朋友们称之为 ViewState 死亡错误。基本上这个错误可能是由各种各样的事情引起的。

以防万一您确实需要倾向于您的机器密钥设置。我将首先浏览以下列表:

1) 检查您的 web.config 文件并确保您的机器密钥未设置为自动生成。

2) 如果您没有使用自动生成,请进入 IIS 并生成一个密钥,并将其粘贴到您的 web.config 中,看看是否可以暂时解决问题。(这不是一个好的长期解决方案,但它可以帮助您在制定长期解决方案的同时继续取得进展)。

3)最后,无论如何,检查您正在使用的控件,看看它们是否使用视图状态。如果他们这样做,请尝试为所有控件禁用它。如果可以修复它,那么当您的应用程序尝试反序列化视图状态数据时会出现某种错误。在尝试从单独的网站加载页面时,我发现这是一个问题,这与您正在做的事情类似。

如果您发现禁用视图状态可以解决您的问题,如果您需要继续使用视图状态,我不确定是否有一个好的解决方法。

于 2013-05-07T08:02:48.073 回答
0

我想分享我所做的,但其他建议将不胜感激..:

我有这样的错误,我什至不能去Page_Load事件。
所以我刚刚创建了一个新页面并在Page_Init事件中重定向到该页面。
我以前从未Page_Init以这种方式发生过事件。我什至不知道这在逻辑上是否正确。但这可能是临时解决方案。

我可以在事件中的方法中Parameters发送(我不知道为什么它在那里没有给出任何错误),我刚刚将它们全部放在会话中并重定向页面。POSTPage_Init

目前已解决。

于 2013-05-10T10:28:33.840 回答