Просто для согласованности я бы порекомендовал вам использовать одну и ту же реализацию (AutoFac, Unity, Spring whaterver) контейнера для всех концептуальных областей.
Если нетрудно сохранить один контейнер на концептуальную область, тогда сделайтетак.Вы избежите проблем, когда для одной и той же зависимости (например, IEmailService) вам потребуются разные реализации для разных концептуальных областей (RemoteEmailService, LocalEmailService).Одним из недостатков будет то, что если у вас есть общие компоненты, вам нужно отслеживать их и регистрировать их в каждом контейнере для каждой области.
Если ваша реализация IOC поддерживает родительско-дочерние контейнеры (AutoFac), у вас могут быть общие компоненты в родительском контейнере и компоненты, специфичные для каждого дочернего контейнера.
Если ваша реализация IOC затрудняет использованиеотдельные контейнеры для каждой области, не боритесь с этим, либо меняйте его, либо используйте один глобальный контейнер, но будьте осторожны при регистрации компонентов.
В любом случае убедитесь, что ваш код не зависит от реализации IOC.Таким образом, вы можете начать с «один контейнер на все», а затем, если необходимо, перейти к «Контейнер на область».