【.netcore】内存泄露的问题

2.1的core项目,部署上去之后遇到两个问题

1.进程内存一直缓步增加,并且不释放。

  读取配置文件采用了实时读取的方法,配置文件资源无法释放,导致内存增加。

  解决方案:依赖注入,或者静态化存储。

  静态化方法如下:

        private static IConfiguration _configuration;protected static void InitConfig() {
            var builder = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json");

            _configuration = builder.Build();
        }

 

2.线程会狂飙

  问题描述:使用了httpclient导致,.netcore中只有异步的gei和post,接口都是采用的同步架构,同步调用异步并发的情况下会导致线程死锁。

  解决方案:使用IHttpClientFactory管理httpclient,同时改用异步架构。

 

posted @ 2019-12-19 16:42  酱油帝君  阅读(2011)  评论(0编辑  收藏  举报