gpt4 book ai didi

c# - 如何在 C# 中保护 SqlDataReader 免受多次访问

转载 作者:太空宇宙 更新时间:2023-11-03 18:13:36 24 4
gpt4 key购买 nike

我有一个用 C# 编写的多线程 TCP 服务器软件。许多线程应该从数据库中读取,我正在使用 SqlDataReader 从数据库中读取。当一个线程想要从数据库中读取时,没有问题,但是当两个或多个线程想要从数据库中读取时,这种情况就开始出现问题了。 .NET 给出了这个异常:已经有一个打开的 DataReader 与这个命令关联,必须先关闭它。

我怎样才能避免这个错误?如何保护 SqlDataReader 免受多重访问?互斥量是否适用于这个问题?

最佳答案

How can i protect SqlDataReader from multiple access?

甚至不要共享连接。

为每个数据库操作创建一个新的SqlConnection(在using语句中在操作结束时处理它),并让连接池处理以提高效率.

如果您不共享连接,则不会出现此错误,也不会通过锁定序列化您的数据库访问。

关于c# - 如何在 C# 中保护 SqlDataReader 免受多次访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10395265/

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