当IIS Http Request中的IIS超时时,SQL操作会发生什么?

时间:2018-02-07 14:55:22

标签: asp.net iis ado.net httprequest iis-express

我的ASP.NET应用程序正在进行数据库调用(存储过程)以从SQL Server获取数据。要处理的记录数量很大,操作需要很长时间。 IIS在默认的executionTimeout(110秒)后超时请求,这在我的情况下是完全正常的。我真正的问题是在SQL服务器上运行的查询会发生什么? IIS是否向sql server发送任何命令如abort以停止查询执行?

在ADO.NET的存储过程调用上设置的命令超时(300秒)远远超过http请求执行超时(110秒)。

我找到了thisthis,但他们找不到我正在寻找的答案。

This article解释了客户端在达到命令超时后如何向服务器发送中止命令。

在我的情况下,客户端是asp.net应用程序。因此,IIS必须通知asp.net应用程序请求已达到最大时间,然后asp.net应用程序发出信号sql server以中止执行查询。它是如何工作的还是我完全理解这个主题错了?

到目前为止,我尝试使用Visual Studio 2017和IIS express在本地运行:在executionTimeout="30"文件中设置debug = "false"web.config。在存储过程中,我设置WAITFOR DELAY '00:05:00'以使查询运行的时间超过http请求超时。但网络请求永远不会超时。它正在等待查询完成。

0 个答案:

没有答案