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,同時改用異步架構。