C#处理计数

我正在研究我的一个应用程序可能有内存泄漏的可能性,所以开始玩一些非常基本的代码示例。 我最终得到的一个,随着时间的推移,在手柄数量(> 3000)方面开始大幅增加。 它是一个非常简单的控制台应用程序,代码如下:

public static void Main(string[] args) { using (SqlConnection sqlConnection = new SqlConnection()) { } Console.ReadLine(); } 

取出SqlConnection调用会删除任何句柄增加,所以我假设它与连接池有关。 但由于这只在基本上等待输入之前只运行一次,为什么Handle计数会继续增加?

谢谢。

您将发现大多数对象缓存由框架对象组成,例如创建的对象,因此您可以访问配置文件和资源,而无需自己手动解析文件

IIRC默认对象缓存大约是4000个对象。

你必须记住,仅仅因为你唯一创建和处理单个对象并不意味着所有的框架工作都在做