Производительность контейнера Microsoft Unity - PullRequest
4 голосов
/ 21 января 2011

Я рассматриваю проект, в котором используется контейнер Unity для Microsoft Patterns and Practices.

Существует один контейнер с 40 зарегистрированными типами, экземпляр контейнера создается для каждого вызова веб-службы.

Мне интересно:

  • Есть ли проблема с производительностью из-за регистрации такого количества типов?
  • Можно ли разделить контейнер Unity между вызовами веб-службы?

Веб-службы размещены в IIS.

Ответы [ 2 ]

12 голосов
/ 24 января 2011

Unity кэширует все виды вещей под капотом, когда решается первый раз. Это значительно повышает производительность при последующих вызовах. Если вы создаете новый контейнер при каждом запросе, вы выбрасываете эти кэши.

Хранить контейнер между запросами.

8 голосов
/ 21 января 2011

Пожалуйста, создайте контейнер и зарегистрируйте все типы во время Application_Start.Мы сделали это для более 200 типов в большом проекте (wcf и asp.net mvc), и у нас не было проблем.

Спасибо

...