Можно ли настроить StructureMap таким образом, чтобы можно было использовать разные параметры .config в зависимости от того, был ли проект построен в режиме отладки или выпуска? - PullRequest
1 голос
/ 31 мая 2010

Я знаю, что в StructureMap я могу читать из моих файлов * .config (или файлов, на которые они ссылаются), когда я хочу передать конкретные аргументы в конструктор объекта.

ForRequestedType<IConfiguration>()
                .TheDefault.Is.OfConcreteType<SqlServerConfiguration>()
                .WithCtorArg("db_server_address")
                .EqualToAppSetting("data.db_server_address")

Но то, что я хотел бы сделать, это прочитать один параметр конфигурации в режиме отладки, а другой - в режиме выпуска.

Конечно, я мог бы окружить .EqualToAppSetting("data.db_server_address"), #if DEBUG, но по какой-то причине эти заявления заставляют меня немного съеживаться, когда я их вставляю. Я хотел бы знать, есть ли какой-то способ сделать это с Сама библиотека StructureMap.

Так можно ли вводить в мои объекты различные настройки в зависимости от того, построен ли проект в режиме отладки или выпуска?

1 Ответ

5 голосов
/ 01 июня 2010

В StructureMap отсутствует встроенное обнаружение режима «отладка» или «выпуск».

Однако, когда вы программно конфигурируете StructureMap через его DSL (в Реестре или вызовом Initialize () или Configure () для контейнера), вы используете язык C #. Вы можете делать все, что позволяет C #. Таким образом, ваш вопрос звучит так: «Есть ли в C # способ условно выполнить некоторый код по-другому в режиме отладки», на который наиболее очевидным ответом, вероятно, будут директивы условной компиляции, которые заставят вас чувствовать себя плохо.

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