首页 > 解决方案 > 依赖注入 .NET Core 2.2 导致的内存泄漏

问题描述

我在Visual Studio 2019中开发了一个.NET Core (2.2) API 。有 2 个自定义 nuget 包,即 Auth 和 Log,它们分别用于身份验证和日志记录。

Auth 包内部引用了 Log 包。我在Startup.cs类 (services.AddScope(XXX)) 的配置服务方法中使用了依赖注入。

当服务部署在OpenShift上时,我们发现大量内存泄漏,内存不断以指数方式增长并达到限制,从而重新启动 pod。

到目前为止,已经尝试了以下方法/解决方案

但是不是消费包,而是直接在API解决方案中包含Auth和Log的类文件并调用时,没有内存泄漏。将它们构建为包并使用依赖注入的目的被打败了。

在调用 API 的依赖注入中使用自定义包的最佳方法是什么?有没有一种方法可以有效地处理通过 DI 创建的对象而不归因于内存泄漏?

标签: c#asp.net-coredependency-injectionmemory-leaksopenshift

解决方案


推荐阅读