Yar*_*ein -1 .net memory-leaks
我的C#代码中有一些内存泄漏我有一个类,里面有一些SqlCommand字段.我还有一个Initialize()公共方法,它分配这些SqlCommands字段.
在分配之前,我检查(在Initialize的代码中)是否第一次进行分配(即不是第一次调用Initialize),如果它不是第一次在SqlCommands上调用Dispose,它似乎导致了内存泄漏....
现在重要的是要提到所有SqlCommands都使用相同的SqlConnection,并且这个连接在整个程序的生命周期中都是活跃的.通过某个静态类的静态属性访问连接...(让我们称之为ConnectionManager)
知道可能是什么问题吗?谢谢!
Krembo,使用SqlConnection和SqlCommand对象的推荐方法是在using语句中,如MSDN中的示例代码所示 :
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
// Do work here; connection closed on following line.
}
Run Code Online (Sandbox Code Playgroud)
您可能应该在使用完SqlConnection对象后立即将其丢弃,而看起来这可能会很慢,在幕后,连接池将消除大部分开销.
| 归档时间: |
|
| 查看次数: |
658 次 |
| 最近记录: |