nhibernate не освобождает память после закрытия сессии - PullRequest
6 голосов
/ 04 января 2011

Я использую NHibernate 2.2 с c # 3.5 и VS2008,

Проблема в том, что когда я закрываю объект Nhibernate Session, память не освобождается.даже я вызываю GC.Collect () после каждого закрытия, но ничего не освобождается

Как я могу заставить NHibernate освобождать объекты, загруженные в сеанс, когда сеанс закрывается?*

Ответы [ 2 ]

1 голос
/ 31 мая 2012

Существует ряд вещей, которые могут предотвратить сбор мусора, даже если вы наберете GC.Collect();. Например, если другие объекты, которые все еще живы и используются, содержат ссылку на то, что вам больше не нужно, то этот объект будет оставаться живым.

Также не забывайте, что часть используемой памяти будет объектами, которые NHibernate вернул вам для базы данных.

1 голос
/ 04 января 2011

Используйте Dispose вместо close.(Не только для Session, но и для каждого объекта, реализующего IDisposable в .net)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...