Как проверить, что StructureMap избавляется от объектов правильно

Я в настоящее время использую StructureMap для введения экземпляров NHibernate ISessions с помощью следующего кода:

ObjectFactory.Initialize(x =>
{
    x.ForRequestedType<ISession>()
        .CacheBy(InstanceScope.PerRequest)
        .TheDefault.Is.ConstructedBy(y => NHibernateSessionManager.Instance.GetSession());    
});

Я предполагаю что CacheBy (InstanceScope. PerRequest), правильно избавится от ISession, который он создает, но я хотел бы удостовериться. Что самый легкий путь состоит в том, чтобы протестировать это?

5
задан Kevin Pang 4 April 2010 в 16:25
поделиться

1 ответ

Итак, согласно документации StructureMap :

Также обратите внимание, что StructureMap не предоставляет никаких функций для очистки up ресурсов объектов, содержащихся в контейнере (Container.EjectAllInstances () удалит одноэлементные объекты). На сегодняшний день я не обнаружил необходимости в этом поведении или функциональности. Я обычно предполагаю, что достаточно комбинации базовой сборки мусора и правильного дизайна класса.

Я знаю, что при использовании NHibernate лучше всего вызывать ISession.Dispose (), поэтому мне нужно либо вручную очистить его, либо просто полагаться на сборщик мусора, который сделает это за меня.

4
ответ дан 15 December 2019 в 00:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: