Итак, я совершаю набег на этот фантастический сайт с вопросом о правильном способе внедрения настроек конфигурации в компоненты приложения. Итак, обзор такой: у меня есть приложение, написанное на C # .Net 3.5. Он состоит из 3-х сборок - ядра, данных и службы. Сборки данных и служб требуют настроек, извлеченных из app.config, что выполняется через файл настроек, например.
Код:
public static String RequestQueueConnectionString
{
get { return ConnectionSettings.Default.RequestQueueConnectionString; }
}
Конфигурация:
<applicationSettings>
<MyNamespace.Data.ConnectionSettings>
<setting name="RequestQueueConnectionString" serializeAs="String">
...
Теперь все сборки настраиваются с использованием StructureMap для IoC - что, на мой взгляд, должно дать ответ на то, что я ищу, но я просто не могу его понять!
IoC:
public static void ConfigureStructureMap(IContainer container)
{
container.Configure(x => ...
...
Я хочу иметь возможность внедрить класс конфигурации, уже заполненный в контейнер IoC, чтобы эти параметры использовались для этой сборки, а НЕ те, которые указаны в файле настроек / app.config. Так что, возможно:
public static void ConfigureStructureMap(IContainer container, MyConfigClass config)
{
container.Configure(x => x.For<DataConfig>()
.Singleton()
.Use ???
...
Надеюсь, я предоставил здесь достаточно подробностей - простите новичка, если я этого не сделал, и, пожалуйста, дайте мне знать, что еще было бы полезно в ответ на этот вопрос!