连接池和Appdomain

本文关键字:Appdomain 连接 | 更新日期: 2023-09-27 18:29:29

这个问题与我以前的问题有关。

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

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

连接池和Appdomain

不同的进程(您的案例#1)不(也不能)共享数据库连接,每个连接对进程来说都是唯一的。

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

除非你有一个特定的意愿——一些超出理论所需的多余连接——否则默认池在避免打开连接的同时也会起作用。


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

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