我正在使用以下代码插入或更新对象。
不在方法之外返回上下文或任何对象。因此,在方法之外没有引用任何对象。但是如果我继续循环,我需要在某个时候使用2 GB或内存。
在检查结果时,永远不会从内存中删除对象。即使我在使用块中使用了新的上下文。为什么垃圾收集器不收集这些对象。还尝试了GC.Collect()但没有任何改变。我做错了什么?
更新代码:
我认为使用扩展方法是个问题。我很想知道究竟是什么以及如何确切地修复它,但以下代码检查了我的内存泄漏
答案 0 :(得分:2)
GC收集所有未使用的对象(接受开放流和连接),因此GC不是问题 - 它在代码中。尝试将代码拆分为基于SOLID的单独方法/ clases。然后根据需要使用内存分析器。
没有数据库,没有机会对代码进行欺骗。所以只是一般的回答,对不起。