Flo Flo - 1 year ago 165
ASP.NET (C#) Question

Execution Timeout via ASP.NET codebehind that does not occur in SQL Server Management Studio

When running my query directly in SQL Server Management Studio, it works fine and takes about 4 seconds.

When I run it within my ASP.NET app I get:

Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

Even when I make sure I've added a timeout to the connectionstring, see my code:


<add name="conn1"
connectionString="data source=(local)\sqlexpress;Initial Catalog=mydb;User Id=myuser;Password=mypwd;"
providerName="System.Data.SqlClient" />

Code behind:

Public Shared Function GetConnection() As SqlConnection
Dim MyConnection As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("conn1").ToString)
Return MyConnection
End Function

Dim myConnection As SqlConnection = GetConnection()
myConnection.ConnectionString = ConfigurationManager.ConnectionStrings("conn1").ToString + "Connection Timeout=900" 'timeout in seconds

Why does this behavior differ?

Win Win
Answer Source

You want CommandTimeout instead of ConnectionTimeout.

Using connection As New SqlConnection(connectionString)
    Dim command As New SqlCommand(queryString, connection)
    command.CommandTimeout = 900
End Using
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download