我有一个IIS网站用于内部作业处理。这项工作大约需要10分钟。当用户单击按钮以启动作业时,大约一分钟后整个页面变白并显示“连接超时”。然而,这项工作与调用第三个pty API有关,它们仍然在地下。
当作业仍在运行时,用户无法重新登录网站。作业完成后,用户可以再次使用该网站。
这里有什么秘密吗?
答案 0 :(得分:0)
你可以在这里玩几件事。
通常,网络浏览器一分钟或两分钟(不确定确切的数字) 见:connection timeout in IE 看:在firefox中你应该能够查看:config
对于网络服务器和asp.net,请参阅HttpRuntimeSection.ExecutionTimeout Property
命令超时请参阅Sqlcommand.CommandTimeout,默认值为30秒。
这就是说...只是因为客户端停止等待并不会强制sql server停止运行该命令。在连接上调用close应该停止服务器上的运行命令,但是你可能需要等待它回滚它可能做出的任何更改。
我怀疑您没有使用sql server agent作业,但如果您正在断开连接,则不会停止该作业。
如果它只是一个不等待你发送输出的客户端,那么你可以做的就是将一些输出发送给客户端......
喜欢
Response.Write("<!-- progress ... -->");
Response.Flush();
您必须刷新,以便它不会缓冲服务器端的响应