Używam tutaj dodatkowo biblioteki/zestawu bibliotek, co działa tylko pod .net framework.
W kontrolerze wywołuję jedną metodę z tej biblioteki. Po każdym wywołaniu widać, jak zapycha się pamięć, która nie chce się zwalniać. Po kilkunastu razach wywala się wyjątek OutOfMemoryException.
Użyłem DotMemory i wychodzi na to, że coś się chrzani w tej bibliotece.
Natomiast jak użyję tej biblioteki w apce konsolowej, to mogę nawet wywołać tę metodę setki razy i nic się nie stanie, pamięć ładnie się zwalnia.
Co do biblioteki, to robi duużo rzeczy na bazie danych.
Na swój chłopski rozum tego nie ogarnę -,-
#programowanie #csharp #dotnet
@Dissociated @Besteer spróbuj zrobić bibliotekę/wrapper jako class library w dotnet standard na tę bibliotekę subiekta i dopiero tę swoją podepnij do dotnet core. Może to coś pomoże.
Spróbuj też owinąć to jakimś interfejsem i rejestrować w DI jako scoped. Może to rozwiązać wycieki pamięci bo będzie go regularnie GC sprzątał i DI Ci będzie tworzył nową instancje dla każdego requesta. Trzeba sprawdzić jaki impact na bazę w takim rozwiązaniu bo możesz zamienić jeden problem na drugi.
Jeśli coś w bibliotece jest zjebane z zarządzaniem obiektami to może któryś z tych patentów pomóc.