Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将命令对象/读取器传递给函数是个好主意吗?_C#_.net_Mysql_Asp.net Mvc - Fatal编程技术网

C# 将命令对象/读取器传递给函数是个好主意吗?

C# 将命令对象/读取器传递给函数是个好主意吗?,c#,.net,mysql,asp.net-mvc,C#,.net,Mysql,Asp.net Mvc,我在使用.Net 4 C的MySql数据库的连接池中遇到了一些无法解释的连接不足的错误。到目前为止,我试图找到原因的所有尝试都是徒劳的。现在我也遇到了这样一种情况,表上的锁很长一段时间都没有被清除,即使我所做的只是从表中读取操作 我的代码看起来很好,我已经使用了块将所有的读卡器和连接放在一起。唯一的异常是我一直将MySqlCommand和MySqlDataReader对象作为参数传递给使用它们的函数 这对我来说似乎不是个坏主意,因为它避免了一些重复!。但由于我找不到任何其他解释,我不得不怀疑这是

我在使用.Net 4 C的MySql数据库的连接池中遇到了一些无法解释的连接不足的错误。到目前为止,我试图找到原因的所有尝试都是徒劳的。现在我也遇到了这样一种情况,表上的锁很长一段时间都没有被清除,即使我所做的只是从表中读取操作

我的代码看起来很好,我已经使用了块将所有的读卡器和连接放在一起。唯一的异常是我一直将MySqlCommand和MySqlDataReader对象作为参数传递给使用它们的函数

这对我来说似乎不是个坏主意,因为它避免了一些重复!。但由于我找不到任何其他解释,我不得不怀疑这是造成问题的原因


您认为如何?

不,传递对连接、命令和数据读取器的引用不是问题。您可以随意抛出引用,只要对代码的哪一部分处理它们有明确的责任


你没说要处理命令对象。它们有一个Dispose方法,也应该安全地进行处理。

正如Guffa所说,传递对这些实例的引用没有任何技术问题。但是,更好的做法是在进行数据访问的方法中填充DTO,并将其传递给链中的下一个方法,或者返回它。这将减少您的复杂性并减轻困惑。

您没有给我们提供太多的信息。