1

在开发进行大量数据访问的应用程序(web、win 等)时,最好在请求的长度内保持数据访问对象打开(即连续做很多事情,然后在完成时关闭它) ,还是继续打开和关闭新的?

protected aDataContext dc = new aDataContext();

对比

private aObject GetInfo(...) {...}

我认为前者的性能会更好;但这似乎是一种不好的做法。

4

2 回答 2

3

最好使用连接池。尽可能多地保持有限数量的连接打开。打开一个连接是昂贵的,但是拥有数百万个打开的连接可能会杀死你的服务器。您应该对您的方案进行基准测试以获得最佳结果....

于 2009-11-26T20:22:05.900 回答
2

通常,您应该为每个工作单元打开一个新连接,使用它,然后尽快关闭它。只要连接字符串相同,内部 .NET(或 ADO 或 ODBC 或其他)将为您汇集连接,因此它实际上非常有效。还有其他问题需要考虑——尤其是事务——但总的来说,最好遵循这种打开-关闭-关闭模式,让 .NET 管理连接池。

于 2009-11-26T22:00:13.373 回答