数据库连接生命周期 - 每个请求的短期和

时间:2014-09-24 09:50:32

标签: sql-server asp.net-mvc entity-framework connection-pooling structuremap

我有一个MVC应用程序,使用StructureMap for IoC。

在应用程序中,通过实体框架,数据访问率为95%;但是有一些原始的ADO.NET存储库使用了IDbConnection实例。

目前我将I IDbConnection注册到IoC容器......

init.For<IDbConnection>()
    .HybridHttpOrThreadLocalScoped()
    .Use(() => this._connectionFactory.CreateConnection(config.ConnectionString));

init.Forward<IDbConnection, DbConnection>();

...并在必要时将IDbConnection注入原始ADO.NET存储库。

但是,目前我_connectionFactory.CreateConnection()返回 OPEN 连接,目的是允许StructureMap在请求结束时关闭连接。

这样做是明智的吗?

在请求的整个生命周期中共享单个开放连接,或者仅在必要时打开/关闭并保持连接短暂是否更好?

0 个答案:

没有答案