Срок службы детского контейнера Unity с WCF - PullRequest
3 голосов
/ 06 июля 2010

Мы используем Unity для обеспечения внедрения зависимостей на уровне сервиса WCF для нашего текущего проекта, и мы следовали следующим примерам, например, чтобы написать фабрику хостов сервиса, хост сервиса, поведение сервиса и провайдер экземпляра:

http://avingtonsolutions.com/blog/post/2008/08/02/Uisng-Unity-with-a-WCF-Service.aspx

Решение работает очень успешно, но нам необходимо обеспечить контекстное разрешение объектов для каждого запроса.До сих пор мы реализовали это путем создания дочернего контейнера в методе GetInstance поставщика экземпляра, добавления контекстных регистраций в дочерний контейнер и использования дочернего контейнера для выполнения разрешения типа службы.Некоторые регистрации в обоих контейнерах используют время жизни, контролируемое контейнером.

Поскольку я не знаю времени жизни дочернего контейнера, у меня есть опасения по поводу этой методологии: 1) Выходит ли дочерний контейнер из области действия в концеМетод GetInstance и, следовательно, его удаление, приводящее к тому, что некоторые из наших объектов, разрешенных нашим контейнером, располагаются в середине нашего запроса?

2) Альтернативно, родительский контейнер в течение некоторого периода времени цепляется за дочерний контейнерчто он быстро заполнится экземплярами дочерних контейнеров в среде с высоким трафиком?

Может кто-нибудь указать мне правильное направление?

...