Утечка памяти с добавлением слушателей NHibernate? - PullRequest
0 голосов
/ 24 марта 2011

Я использую Configuration.AppendListeners для некоторых дополнительных слушателей.При подключенных прослушивателях деструктор вызывается только после завершения программы - без дополнительных прослушивателей деструктор вызывается в System.GC.Collect.

В качестве обходного пути я реализовал IDisposable, где я вызываю следующий метод:

    private void CleanUpConfigurationListener()
    {
        if (configuration == null) return;
        foreach (NHibernate.Event.ListenerType item in Enum.GetValues(typeof(NHibernate.Event.ListenerType)))
        {
            configuration.SetListener(item, null);  
        }
    }

С ним снова вызывается деструктор.

Это утечка памяти?

Я использую NH 3.0 из-за Fluent NHibernate (1.2).

Спасибо за ваши ответы.

1 Ответ

1 голос
/ 25 марта 2011

Это была моя вина. Я нашел проблему:

Код создал новую SessionFactory для каждого нового объекта DAL-Session: (

...