我们在IIS7上有一个ASP.Net Web应用程序,用于上传Excel文件,然后通过在SQL服务器上运行作业将它们加载到SQL数据库中。应用程序将等待作业完成,然后向用户显示一条消息。由于使用了一些较大的文件,应用程序会抛出以下错误。
网络错误(tcp_error)
发生了通信错误:"" Web服务器也可能已关闭 忙,或遇到阻止它响应的其他问题 要求。您可能希望稍后再试一次。寻求帮助, 联系您的网络支持团队。
该应用程序使用asp:View从各个步骤进展。我试图提高会话超时和httpRuntime executionTimeout值,以说明作业运行所需的时间,但似乎没有任何效果。我知道工作已经完成,但应用程序没有向用户显示反馈。我认为当应用程序按逻辑向用户显示显示所有最终消息的视图时,会抛出错误。
我只能猜测a)还有另一个设置我不知道超时,b)另一个配置文件设置是否覆盖我的应用程序的web配置设置,或者c)asp:View正在计数所有各个步骤作为一个漫长的过程而不是重置时钟"每一步都完成了。
正如我所说,文件上传很好,而且工作完成得很好,应用程序无法前进到最后一步,它会在结束时向用户显示视图。关于我可以寻找什么来解决这个问题的任何想法?我唯一的另一个选择是重写应用程序,不要等待作业完成并处理用户通知其他方式。
更新1 进一步测试后,看起来错误来自我们创建的ASP.Net自定义代码,它执行SQL批量复制而不是SQL作业的运行。当前测试在本地测试运行大约220秒,但会导致测试服务器超时。
更新2 经过更多的研究,我倾向于认为用户pevgeniev是正确的,这只是浏览器的限制因素。唯一阻止我将其标记为已回答的是我不知道为什么文件上传不会出现同样的问题。
答案 0 :(得分:0)
如果您在浏览器中收到此错误,则超出客户端的超时,并且您可以在服务器端执行此操作。正如您所建议的那样,您可以重写应用程序,以便轮询客户端的结果,而不是期望在单个请求中完成任务。