c# - 带有代码的 Postgres Npgsql 连接池
问题描述
我知道这篇文章:Postgres Npgsql Connection Pooling 但它并没有完全解决我的问题。
我从概念上理解连接池是如何工作的,但我很难理解如何使用 Npgsql 在我的 .NET 应用程序中应用它们。
这是我目前正在做的事情:
NpgsqlConnectionStringBuilder cb ... // build command and set properties
cb.Pool = True // set pool setting to True and set max pool
NpgsqlConnection conn = new NpgsqlConnection(cb.ConnectionString)
public void thread1()
NpgsqlCommand cmd = new NpgsqlCommand(conn)
cmd.Connection.Open()
// code
cmd.ExecuteNonQuery
cmd.Connection.Close()
public void thread2() {
//... same thing
}
据我了解,每当我发出新命令时,我实际上只是从连接池中获取相同的连接。我不明白如何通过只创建一个 NpgsqlConnection 对象来利用连接池的其余部分。
当我执行 NpgsqlConnection.Open()(又名 conn.Open())与 cmd.Connection.Open() 时会发生什么?
我觉得有些基本的东西我不明白。
解决方案
推荐阅读
- ios - iOS:Firebase 分块发送/保存数据
- sql - 如何删除不同表中的多行?
- python-3.x - 我应该在生成器和函数之间使用什么来返回在 python 中进行简历解析,我需要一次处理大量简历?
- javascript - React 根据结果数量动态创建按钮
- javascript - 用图像打印出 div 的内容
- r - r闪亮错误:无法将类“函数”强制转换为data.frame
- ckeditor - 如何去除ck编辑器源代码中的html标签
- python - 删除 3-d 数组中低于阈值的连接组件
- android - SQLite 数据不持久
- azure - 在服务器数据库更改时本地刷新数据