- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个 Web 服务器,它使用单个连接字符串连接到数据库,这使其成为能够使用连接池的有力候选者。
我们需要一个还是多个 SqlConnection 对象?
即我们应该在共享内存中设置一个连接并每次使用它,还是应该在每次想要使用任何连接对象时创建一个新连接?
是调用 .Open() 从池中分配它,还是使用相同的连接字符串创建新对象?
此外,在将连接释放回池之前,我们是否需要在连接上调用 .Close(),或者变量超出范围就足够了吗?
我在某处读到(我忘记了具体位置 - 抱歉),您不应该对池中的连接调用 close ,因为它会以某种方式将它们从池中删除。
最佳答案
值得注意的是,相同的连接字符串将重用已返回池的连接,但以任何方式更改它都会导致与服务器建立新连接。
即假设SQLBox的IP为10.0.0.1
using (var conn = new SqlConnection(@"Server=10.0.0.1;...") {
conn.Open();
.. Do work ..
conn.Close();
}
using (var conn = new SqlConnection(@"Server=SQLBox;…") {
conn.Open(); // This will *NOT* reuse the connection from the pool.
.. Do work ..
conn.Close();
}
using (var conn = new SqlConnection(@"Server=10.0.0.1;...") {
conn.Open(); // This *WILL* reuse the connection from the pool.
.. Do work ..
conn.Close();
}
关于c# - ConnectionPools 是有一个连接还是多个连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19426334/
我们有一个 Web 服务器,它使用单个连接字符串连接到数据库,这使其成为能够使用连接池的有力候选者。 我们需要一个还是多个 SqlConnection 对象? 即我们应该在共享内存中设置一个连接并每次
我们有一个 Web 服务器,它使用单个连接字符串连接到数据库,这使得它成为能够使用连接池的有力候选者。 我们需要一个 SqlConnection 对象还是多个? 即我们应该在共享内存中建立一个连接,并
在 VB.Net Windows 服务中,我目前正在使用以下工作单元: ThreadPool.QueueUserWorkItem(operation, nextQueueID) 在每个工作单元(或为
在我的应用程序中,我必须与多个 MySQL 交互(只读) DB 一个一个。对于每个数据库,我需要一定数量的连接。与数据库的交互不会一次性发生:我查询数据库,花一些时间处理结果,再次查询数据库,再次处理
我正在使用 tomcat 7 和 tomcat jdbc 连接池来分配 mysql 连接。 在夜间,我们没有任何事件,因此所有连接空闲时间超过 8 小时,并被 mysql 删除。 (mysql 的 w
我在尝试使用 mechanize 抓取网站时遇到此错误。 这是我的代码: agent = Mechanize.new agent.user_agent_alias = 'Mac Safari' age
Redis 连接池的字符集有问题(想处理字符串,而不是字节)。 如果我像这样连接到 Redis: r = redis.StrictRedis(host="localhost", port=6379,
我们正在 AWS 中运行一个海王星数据库。我们有 1 个作者和 3 个读者实例。几周前,我们发现负载平衡没有按预期工作。我们发现,我们的软件实例只连接到一个阅读器,并保持这种连接直到 EOL。所以其他
根据 OrientDB 官方文档,我应该使用以下代码使用对象 API 创建连接池。 // OPEN THE DATABASE OObjectDatabaseTx db= OObjectDatabase
我正在关注“Grails 2 - 快速入门指南”一书中名为 TekDays 的 Grails 应用程序开发。当我开始配置 DataSource 时,我遇到了建立数据库连接的问题。我不知道是什么原因,因
我遇到一个连接池问题,它很快就会耗尽。基本上我已经在应用程序中加载了一个监听器,每当初始化上下文时,计时器就会启动,其中的计时器任务将执行 SQL 查询,该查询使用连接池“我在 Tomcat 6 中复
我正在 Dart 中创建一个后端服务器应用程序,它使用 MySQL 数据库来存储数据。为了进行 SQL 调用,我使用了 SqlJocky 的 ConnectionPool。 应用启动时我做了什么: 创
我是 Grails 新手。在 Datasource.groovy 中进行一些基本配置后,我的 grails 应用程序无法启动。我收到以下错误 Error 2015-07-03 15:27:19,014
我有一个 Web 应用程序,它使用 JNDI 查找来连接到数据库。 连接工作正常并且返回查询没有问题。问题是连接没有正确关闭并停留在“ sleep ”模式(根据 mysql 管理员的说法)。这意味着它
我正在使用 ConnectionPool check out /检入数据库连接。 因此,如果没有异常,一切都会按预期进行。最后 checkin 连接。 但是,如果包含 with_connection
我正在尝试让我的 Rails 应用程序使用 Resque 来管理工作人员。但是,我想继续使用 ConnectionPool gem。 我在初始化程序中有这个: puts ENV["REDISTOGO_
我正在重构一个最初在 20 世纪 90 年代中期设计的遗留系统。那时候,JDBC 连接是一种稀缺资源,没有可靠的连接池实现,因此连接会被尽可能长时间地保留。这导致了如下结构: class Client
如果关闭javax.sql.connectionpooled连接,它不会在数据库中留下任何非 Activity session 。在我的例子中,我可以在数据库(oracle)中看到许多非 Activi
我无法在 rPi 上运行 ScadaLTS。 Aug 17, 2017 7:01:14 AM org.apache.catalina.startup.ClassLoaderFactory valida
在谷歌搜索了一整天后,我看到了很多关于这个问题的讨论,甚至是一个据说可以解决问题的指南[1],但直到现在我还没有找到解决方案。我想配置我的 web 服务,它依赖于 hibernate 3 来使用在我的
我是一名优秀的程序员,十分优秀!