Как проверить необходимые условия, а затем запустить приложение с помощью DI? - PullRequest
1 голос
/ 30 июня 2011

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

Как бы вы справились с такой ситуацией?Я использую Autofac.

Спасибо.

Ответы [ 2 ]

1 голос
/ 30 июня 2011

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

Однако вам нужен DI для ваших типов проверки настроек?Почему бы просто не использовать их непосредственно перед сборкой контейнера?

0 голосов
/ 30 июня 2011

Не знаю, хорошо ли я вас понял.

Зачем вам это делать?

Когда проверка вашего приложения не проходит, вы просто выходите из приложения и контейнер удаляется.и все экземпляры выпущены.Факт регистрации даже нескольких компонентов в вашем DI-контейнере не сильно снижает производительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...