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