The exception pretty much is saying that your stored procedure is taking too long to run. This means that you you need to shift your focus from the calling code, ASP.NET; to the code that is being called: the Stored Procedure.
If the database is running on SQL Server; the best way to debug is going to be using SSMS (Sql Server Mgmt Studio) and see what is causing the procedure to take so long. The most common problem is going to be a lack of or improper indexes on the tables in the database.
I noticed your connection string contains a reference to increase the
ConnectionTimeout to 15 minutes.... a little bit excessive and has no bearing on the issue you are having; it is only related to how long it takes for your application to contact the DB. It is rare to have a legitimate need to set this value as the default of 15 seconds is plenty long enough for a client to establish a connection with the server
There is also a
CommandTimeout attribute that can be placed on the actual SqlCommand object to allow longer running of a query before it times out. The default value is 30 seconds. Context connections/asynch methods are not affected by changes to this value. In all reality it is a bandage for poor SQL queries or designs.
References:
Connection timeout and Command timeout in SQL Server – Don Castelino[
^]
SqlCommand.CommandTimeout Property (System.Data.SqlClient) | Microsoft Docs[
^]