0

我正在创建一个 azure 应用程序,它在 azure sql server 上有数据库。在我的一个页面上,我有文件上传控件,我用它来上传 Excel 文件,该文件在第一张表的一个表中包含一些数据。像 50 行和 8 列。现在上传文件后,我点击处理按钮,处理每一行并对每一行进行一些验证,并将有效行保存在数据库中。然后我把这个保存的数据放在pdf文件上。所有这些处理每行需要 2 秒。我已经使用更新面板发送了一个异步请求。

在服务器端,请求完成,即行被处理并保存在数据库中,但在客户端,我只能在页面上看到数据来自服务器的 ajax 加载器图像,请稍候。它一直等到我在脚本管理器中放置了 1000 秒的异步超时。超时后它再次发送请求。

我不明白为什么它要等到超时并且没有向我显示任何我正在等待的已处理行数和行中发生错误的消息?另外为什么超时后重新发送请求?我

谁能帮我解决这个问题?

4

1 回答 1

1

服务器是否响应它已完成?您应该会看到一些通信返回给客户端。您还可以执行以下操作来处理超时错误而不重新发送请求:

<script type="text/javascript">  
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function (sender, args) {  
            if (args.get_error() && args.get_error().name === 'Sys.WebForms.PageRequestManagerTimeoutException') {  
                            args.set_errorHandled(true);  
            }  
        });  
</script> 
于 2012-05-11T19:35:13.247 回答