We're experiencing an intermittent issue with the "Invalid postback or callback argument" exception. In the course of three days we had about 18,000 successful submissions and 7 instances of users being stopped by this exception.
我们遇到了“无效回发或回调参数”异常的间歇问题。在三天内,我们有大约18000个成功的提交和7个用户被这个异常阻止的实例。
While the submission is successful the vast majority of the time, this is a payment transaction, so the failure rate is unacceptable.
虽然提交在大多数情况下都是成功的,但这是一个支付事务,故而失败率是不可接受的。
Since the application has passed a rigorous QA process and is functioning as expected in production the vast majority of the time, it would seem like the application code is fairly sound and that there is some other variable that is causing these errors (environment, unexpected user action).
由于应用程序已经通过了严格的QA流程,并且在大多数情况下都按照生产中预期的那样运行,因此看起来应用程序代码是相当健全的,并且还有其他一些变量导致了这些错误(环境、意外的用户操作)。
Has anyone else seen this issue presenting intermittently?
有人见过这个问题间歇地出现吗?
Thanks, Richard
谢谢你,理查德
2 个解决方案
#1
3
It looks like it was a bandwidth issue!
看起来这是一个带宽问题!
Using the information in this blogpost, I was able to reproduce the issue and go back to our customer service folks to have them inquire about the user's internet connections. All of the customers that called in to report this issue were on dial-up.
使用这篇博文中的信息,我能够重现这个问题,并回到我们的客户服务人员,让他们询问用户的互联网连接。所有打电话报告这个问题的客户都在拨号。
A quote from this blogpost sums the issue up:
这篇博文的引文总结了这个问题:
"Joe's theory, which I believe to be correct, is that the user might create a postback before their browser even receives the __EVENTVALIDATION form input. This could happen, for example, over a poor connection. The resulting POST won't contain the __EVENTVALIDATION input, and thus ASP.NET cannot validate the postback arguments. The klaxons wail. Glass breaks. The runtime throws an exception."
我认为Joe的理论是正确的,即用户可能在浏览器接收到__EVENTVALIDATION表单输入之前创建回发。这可能会发生,例如,在一个糟糕的连接上。生成的POST不包含__EVENTVALIDATION输入,因此是ASP。NET无法验证回发参数。了电喇叭悲叹。玻璃打破了。运行时抛出一个异常。
Thanks all!
感谢所有!
#2
0
I have seen this issue when users re-submitted a form while a previous postback was still being processed. The workaround in this case was to disable the Submit button while a postback was being processed. Would such a scenario be possible in your application?
当用户重新提交表单而之前的回发仍在处理时,我看到了这个问题。本例中的解决方案是在处理回发时禁用Submit按钮。在您的应用程序中是否可能出现这种情况?
#1
3
It looks like it was a bandwidth issue!
看起来这是一个带宽问题!
Using the information in this blogpost, I was able to reproduce the issue and go back to our customer service folks to have them inquire about the user's internet connections. All of the customers that called in to report this issue were on dial-up.
使用这篇博文中的信息,我能够重现这个问题,并回到我们的客户服务人员,让他们询问用户的互联网连接。所有打电话报告这个问题的客户都在拨号。
A quote from this blogpost sums the issue up:
这篇博文的引文总结了这个问题:
"Joe's theory, which I believe to be correct, is that the user might create a postback before their browser even receives the __EVENTVALIDATION form input. This could happen, for example, over a poor connection. The resulting POST won't contain the __EVENTVALIDATION input, and thus ASP.NET cannot validate the postback arguments. The klaxons wail. Glass breaks. The runtime throws an exception."
我认为Joe的理论是正确的,即用户可能在浏览器接收到__EVENTVALIDATION表单输入之前创建回发。这可能会发生,例如,在一个糟糕的连接上。生成的POST不包含__EVENTVALIDATION输入,因此是ASP。NET无法验证回发参数。了电喇叭悲叹。玻璃打破了。运行时抛出一个异常。
Thanks all!
感谢所有!
#2
0
I have seen this issue when users re-submitted a form while a previous postback was still being processed. The workaround in this case was to disable the Submit button while a postback was being processed. Would such a scenario be possible in your application?
当用户重新提交表单而之前的回发仍在处理时,我看到了这个问题。本例中的解决方案是在处理回发时禁用Submit按钮。在您的应用程序中是否可能出现这种情况?