HAA0502 Явное распределение новых ссылочных типов - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть ASP.Net Core 2.1, C# приложение.Я использую Анализатор распределения кучи Clr

https://marketplace.visualstudio.com/items?itemName=MukulSabharwal.ClrHeapAllocationAnalyzer

Один из методов выглядит следующим образом

Ex # 1

public void ConfigureServices(IServiceCollection services) {

services.AddSingleton<IPocoDynamo>(serviceProvider => {
    var pocoDynamo = new PocoDynamo(serviceProvider.GetRequieredService<IAmazonDynamoDB>());
    pocoDynamo.SomeMethod();
    return pocoDynamo;
});

}

Пример. # 2

public async Task<EventTO> AddEvent(EventTO eventObj)
{
  try
    {       
      throw new Exception("Error!");
    }
 catch (Exception ex)
 {
   Logger.Log(ex, eventObj);
   return null;
  }
}

Я использую DI во всем приложении.Но везде, где анализатор обнаруживает ключевое слово new, он предупреждает как

HAA0502 Явное распределение нового ссылочного типа

Также везде, где используется лямбда-выражение, это предупреждениекак (как в примере № 1)

Warning HAA0301 Heap allocation of closure Captures:

Что вызывает это и как с этим бороться?

Спасибо!

...