3

这个问题与我的旧问题有关

1)我有一个需要连接到某些数据库的 vb.net 应用程序。所以现在如果我打开同一个应用程序的多个实例(exe 文件),那么它使用不同的连接或使用多个连接。那么我可以让它使用单连接吗?

2)我听说过Appdomain(一个AppDomain在进程中提供了一层隔离)。是否有助于从同一个池中建立连接并优化资源利用?这篇文章有一些与之相关的东西。

4

2 回答 2

2

不同的进程(你的情况#1)不(也不能)共享数据库连接,每个连接对于进程都是唯一的。

我不知道连接池是每个进程还是每个应用程序域。1但不太可能有太大的不同。您应该瞄准的模型是围绕每个功能性数据库操作创建、使用然后关闭连接。不要试图让它们保持打开状态,而要尝试让它们保持关闭状态。这最大限度地增加了重用的重用机会。

除非您有一个特定的意愿,否则理论上需要的连接数超出了默认池,同时避免保持连接打开将正常工作。


1由于连接在从池中返回之前被重置,因此很难确定是哪种情况。也许一个测试程序在另一个应用程序域重复该过程之前打开、使用和关闭一个连接,然后查看是否建立了一个或两个与数据库的连接。

于 2013-08-28T10:45:15.997 回答
0

每个 AppDomain 都有自己的连接池,所以不,我认为使用 AppDomains 对您的情况没有帮助。

于 2013-11-14T15:13:34.967 回答