2013-09-26 2 views
1

В настоящее время я использую Microsoft.Practices.Unity.HierarchicalLifetimeManager как менеджер жизненного цикла для своих контроллеров, потому что он вызывает dispose на объектах, которые он содержит. Тем не менее, кажется, что я столкнулся с проблемами кросс-потоковой передачи (несколько переменных запроса смешиваются). Читая дальше в менеджере по жизни, он реализует шаблон Singleton, который, я считаю, является моей проблемой.Наиболее подходящий Lifetime Manager для контроллера?

Я использую Unity 2.1. Может ли кто-нибудь рекомендовать наиболее подходящего менеджера времени для использования с ASP.net MVC-контроллерами, которые будут вызывать утилизацию по каждому из содержащихся в нем объектов в конце каждого запроса?

Большое спасибо.

ответ

1

Я думаю, что любой here, который не реализуется, как одноэлементный, должен работать. Вам нужно выбрать лучшее для ваших нужд. PerThreadLifetimeManager звучит довольно хорошо, хотя он не звонит Dispose. Тем не менее, это будет сбор мусора, когда нить умирает.

+0

Спасибо. Вы знаете, будет ли IIS гарантировать уникальный поток для каждого запроса? Если это так, использование PreThreadLifetimeManager будет эффективно PerRequestLifetimeManager, правильно? –

+0

Да, каждый запрос - это поток. –

+0

Спасибо. Я найду способ решить проблему Dispose. –

Смежные вопросы