EntityFramework 创建 130 多个连接

EntityFramework creating 130+ connections

根据 MSDN,entity framework 应该在特定操作(例如 SaveChanges())后关闭其连接。

Amazon 对我咆哮说我的 SQL 服务器实例中的连接太多(140 个连接)。 sp_who2 中的 100 个连接显示 "EntityFramework".

的 ProgramName

EF 可以创建所有这些连接吗?是否缺少应用程序级别的清理?启动定期垃圾收集是否有助于清理这些垃圾?

一个起点是确保您不会让上下文实例悬而未决。将它们包装在使用块中可能会成功。

使用'using'块会有所帮助。请记住 ADO.net 个连接是 'pooled'。如果在一定时间内使用相同的连接字符串,池连接将被重用。它应该可以防止像那样堆积所有这些连接。

看起来 Ninject 关闭数据库上下文有问题...

http://bobcravens.com/2010/11/using-ninject-to-manage-critical-resources/