Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.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# Windows服务中的内存泄漏-InterceptableDbCommand_C#_Service_Memory Leaks - Fatal编程技术网

C# Windows服务中的内存泄漏-InterceptableDbCommand

C# Windows服务中的内存泄漏-InterceptableDbCommand,c#,service,memory-leaks,C#,Service,Memory Leaks,我有内存泄漏的问题。当我在窗口模式下运行应用程序时,一切都正常,但当我将其作为Windows服务宿主时,内存泄漏会出现问题。它没有释放DbContext和其他对象,因为它们被引用到InterceptableDbCommand,后者是GC根。InterceptableDbCommand包含对实体框架生成的数据库的查询 在应用程序和windows服务模式之间释放内存有什么区别?一般来说,如果垃圾收集器的“Gen 0”将溢出大对象堆,则垃圾收集器会释放内存,也会触发GC。AFAIK垃圾收集器使用相同的

我有内存泄漏的问题。当我在窗口模式下运行应用程序时,一切都正常,但当我将其作为Windows服务宿主时,内存泄漏会出现问题。它没有释放DbContext和其他对象,因为它们被引用到InterceptableDbCommand,后者是GC根。InterceptableDbCommand包含对实体框架生成的数据库的查询


在应用程序和windows服务模式之间释放内存有什么区别?

一般来说,如果垃圾收集器的“Gen 0”将溢出大对象堆,则垃圾收集器会释放内存,也会触发GC。AFAIK垃圾收集器使用相同的方法释放.Net应用程序和Windows服务的内存

如果存在内存泄漏,则如果工作流完全相同,则应用程序和Windows服务中都可能存在内存泄漏。您可能与应用程序有相同的问题,但由于其工作流性质,您没有注意到。你是如何测试内存泄漏的


更重要的是:确保您处理了InterceptableDbCommand和所有其他一次性对象。

好,我找到了原因。Main方法中有一个属性[StatThread],删除它后一切正常