My ASP.NET application is making a database call (stored procedure) to fetch data from SQL server. The number of records to process is large and operation is going to take long time. IIS times out the request after default executionTimeout (110 seconds) which is completely fine in my case. My real question is what happens to the query that is running on the SQL server? Does IIS send any command like abort to sql server to stop the query execution?
Command timeout (300 seconds) set on the stored procedure call from ADO.NET is way more than http request execution timeout (110 seconds).
I found this and this but they do not have the answer what I'm looking for.
This article explains about how a client sends an abort command to server after command timeout has reached.
The client here is asp.net application in my case. So, IIS has to notify asp.net application that request has reached it max time and then asp.net application signals sql server to abort the executing query. Is that how it works or Am I totally understanding this topic wrong?
This is what I have tried so far running locally using Visual studio 2017 and IIS express: Set executionTimeout="30"
and debug = "false"
in web.config
file. In stored procedure I set WAITFOR DELAY '00:05:00'
for the query to run longer than http request time out. But the web request never timed out. It is waiting for the query to complete.