gpt4 book ai didi

c# - 在多线程服务器应用程序中访问 SQL DB

转载 作者:行者123 更新时间:2023-11-30 12:53:30 25 4
gpt4 key购买 nike

在我的服务器应用程序中,我想使用 DB (SQL Server),但我不确定最佳方法。有些客户的请求进入线程池,因此他们的处理是异步的。每个请求通常都需要读取或写入数据库,所以我在考虑创建连接、执行查询并返回结果的静态方法。只怕打开和关闭连接是不是太慢了,是不是有些连接限制达不到?这是好方法吗?

最佳答案

恕我直言,最好依靠 ADO.NET 连接池机制,不要尝试手动处理数据库连接。像这样编写您的数据访问方法:

public void SomeMethod()
{
using (var connection = new SqlConnection(connectionString))
using (var command = connection.CreateCommand())
{
connection.Open();
command.CommandText = "SELECT Field1 FROM Table1";
using (var reader = command.ExecuteReader())
{
while(reader.Read())
{
// do something with the results
}
}
}
}

然后你可以从任何你喜欢的地方调用这个方法,让它成为静态的,从任何线程调用它。请记住,在连接上调用 Dispose 实际上不会关闭它。它会将它返回到连接池,以便可以重复使用。

关于c# - 在多线程服务器应用程序中访问 SQL DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2301614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com