Skip to main content
Stack Overflow
  1. About
  2. For Teams

Return to Question

Post Timeline

Notice removed Authoritative reference needed by Community Bot
Bounty Ended with no winning answer by Community Bot
Notice added Authoritative reference needed by Dave
Bounty Started worth 50 reputation by Dave
added 1301 characters in body
Source Link
Dave
  • 8.7k
  • 14
  • 62
  • 109

I would like to set the ConnectionTimeout to something other than the default, which is 15 seconds. I have inherited some code that uses EntityFramework and the app.config looks like this:

<configuration>
 <configSections>
 <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxxx" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS; Integrated Security=True; ConnectionTimeout=30; MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
 <parameters>
 <parameter value="Data Source=.\SQLEXPRESS; Integrated Security=True; ConnectionTimeout=30; MultipleActiveResultSets=True" />
 </parameters>
</defaultConnectionFactory>
</entityFramework>

I'm the one who added the sectino in an attempt to get things working. I can tell it's not working be setting a breakpoint at:

var adapter = (IObjectContextAdapter) this;
var objectContext = adapter.ObjectContext;
objectContext.CommandTimeout = CommandTimeoutSeconds;
int test = objectContext.Connection.ConnectionTimeout;

test is always 15. What is going on? Can someone tell me how to set ConnectionTimeout? I have tried both "ConnectionTimeout" and "Connection Timeout" I.e. no space vs. space.

Can someone help me? I'm pulling my hair out. I'm sure it's a simple fix! Dave

Additional info. In response to comment, here is my DbContext derived class...

public class SessionDataContext : DbContext
{
 // Command timeout (seconds)
 private const int CommandTimeoutSeconds = 30;
 /// <summary>
 /// Constructor that takes db name.
 /// The connection string and db itself is configured in the this project's app.config file
 /// </summary>
 /// <param name="dbName"></param>
 public SessionDataContext(string dbName) : base(dbName)
 {
 Database.SetInitializer(new SessionDataContextInitializer());
 // Set timeout (based on code from http://stackoverflow.com/questions/6232633/entity-framework-timeouts)
 var adapter = (IObjectContextAdapter) this;
 var objectContext = adapter.ObjectContext;
 objectContext.CommandTimeout = CommandTimeoutSeconds;
 int test = objectContext.Connection.ConnectionTimeout;
 }
 /// <summary>
 /// Session table's records
 /// </summary>
 public DbSet<Session> Sessions { get; set; }
 /// <summary>
 /// SessionType table's records
 /// </summary>
 public DbSet<SessionType> SessionTypes { get; set; }
}

I would like to set the ConnectionTimeout to something other than the default, which is 15 seconds. I have inherited some code that uses EntityFramework and the app.config looks like this:

<configuration>
 <configSections>
 <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxxx" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS; Integrated Security=True; ConnectionTimeout=30; MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
 <parameters>
 <parameter value="Data Source=.\SQLEXPRESS; Integrated Security=True; ConnectionTimeout=30; MultipleActiveResultSets=True" />
 </parameters>
</defaultConnectionFactory>
</entityFramework>

I'm the one who added the sectino in an attempt to get things working. I can tell it's not working be setting a breakpoint at:

var adapter = (IObjectContextAdapter) this;
var objectContext = adapter.ObjectContext;
objectContext.CommandTimeout = CommandTimeoutSeconds;
int test = objectContext.Connection.ConnectionTimeout;

test is always 15. What is going on? Can someone tell me how to set ConnectionTimeout? I have tried both "ConnectionTimeout" and "Connection Timeout" I.e. no space vs. space.

Can someone help me? I'm pulling my hair out. I'm sure it's a simple fix! Dave

I would like to set the ConnectionTimeout to something other than the default, which is 15 seconds. I have inherited some code that uses EntityFramework and the app.config looks like this:

<configuration>
 <configSections>
 <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxxx" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS; Integrated Security=True; ConnectionTimeout=30; MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
 <parameters>
 <parameter value="Data Source=.\SQLEXPRESS; Integrated Security=True; ConnectionTimeout=30; MultipleActiveResultSets=True" />
 </parameters>
</defaultConnectionFactory>
</entityFramework>

I'm the one who added the sectino in an attempt to get things working. I can tell it's not working be setting a breakpoint at:

var adapter = (IObjectContextAdapter) this;
var objectContext = adapter.ObjectContext;
objectContext.CommandTimeout = CommandTimeoutSeconds;
int test = objectContext.Connection.ConnectionTimeout;

test is always 15. What is going on? Can someone tell me how to set ConnectionTimeout? I have tried both "ConnectionTimeout" and "Connection Timeout" I.e. no space vs. space.

Can someone help me? I'm pulling my hair out. I'm sure it's a simple fix! Dave

Additional info. In response to comment, here is my DbContext derived class...

public class SessionDataContext : DbContext
{
 // Command timeout (seconds)
 private const int CommandTimeoutSeconds = 30;
 /// <summary>
 /// Constructor that takes db name.
 /// The connection string and db itself is configured in the this project's app.config file
 /// </summary>
 /// <param name="dbName"></param>
 public SessionDataContext(string dbName) : base(dbName)
 {
 Database.SetInitializer(new SessionDataContextInitializer());
 // Set timeout (based on code from http://stackoverflow.com/questions/6232633/entity-framework-timeouts)
 var adapter = (IObjectContextAdapter) this;
 var objectContext = adapter.ObjectContext;
 objectContext.CommandTimeout = CommandTimeoutSeconds;
 int test = objectContext.Connection.ConnectionTimeout;
 }
 /// <summary>
 /// Session table's records
 /// </summary>
 public DbSet<Session> Sessions { get; set; }
 /// <summary>
 /// SessionType table's records
 /// </summary>
 public DbSet<SessionType> SessionTypes { get; set; }
}
Source Link
Dave
  • 8.7k
  • 14
  • 62
  • 109

Setting ConnectionTimeout when using EntityFramework

I would like to set the ConnectionTimeout to something other than the default, which is 15 seconds. I have inherited some code that uses EntityFramework and the app.config looks like this:

<configuration>
 <configSections>
 <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxxx" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS; Integrated Security=True; ConnectionTimeout=30; MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
 <parameters>
 <parameter value="Data Source=.\SQLEXPRESS; Integrated Security=True; ConnectionTimeout=30; MultipleActiveResultSets=True" />
 </parameters>
</defaultConnectionFactory>
</entityFramework>

I'm the one who added the sectino in an attempt to get things working. I can tell it's not working be setting a breakpoint at:

var adapter = (IObjectContextAdapter) this;
var objectContext = adapter.ObjectContext;
objectContext.CommandTimeout = CommandTimeoutSeconds;
int test = objectContext.Connection.ConnectionTimeout;

test is always 15. What is going on? Can someone tell me how to set ConnectionTimeout? I have tried both "ConnectionTimeout" and "Connection Timeout" I.e. no space vs. space.

Can someone help me? I'm pulling my hair out. I'm sure it's a simple fix! Dave

default

AltStyle によって変換されたページ (->オリジナル) /