Когда я вызываю метод контроллера, в этом методе я только добавляю данные в класс списка в синтаксисе for для целей тестирования.
Код: Выделить всё
public async Task Search()
{
List? lstSearch = new();
lstSearch = ParticipantSearch();
GC.Collect();
GC.WaitForPendingFinalizers();
return PartialView("Search");
}
private List? ParticipantSearch()
{
List? lstSearch = new();
for (int i= 1; i< 100000; i++)
{
SearchResultViewModel search = new();
search.ParticipantId = i;
search.Relationship = "asd";
search.CobraStatus = "asd";
search.QualifyingEventType = "asd";
search.FirstName = "asd";
search.LastName = "asd";
search.SocialSecurityNumber = "asd";
search.ParticipantStatus = "asd";
lstSearch.Add(search);
}
return lstSearch;
}
Я возвращаю на страницу значение null... а объем памяти по-прежнему равен 174 МБ. МБ.
Если я нажму кнопку еще раз, оно увеличится до 190 МБ и никогда не уменьшится
Даже если я вызову сборщик мусора, ничего происходит.
Почему приложение продолжает потреблять память после завершения выполнения метода?
Подробнее здесь: https://stackoverflow.com/questions/790 ... -releasing