Вот что я пытаюсь выполнить с помощью Structuremap.
При каждом запросе строки подключения к базе данных и URL-адреса веб-служб, используемые в наших клиентах, будут различаться в зависимости от бизнес-логики.В настоящее время наши клиентские реализации sql и веб-служб получают конфиги в своих конструкторах.
Я хотел использовать профили, только чтобы обнаружить, что их нельзя использовать для запроса.
В нашемВ нашей команде мы обсуждаем два решения:
1- Передайте фабрику конфигурации в реестр, которая может решить, какие конфигурации использовать, когда контейнеру необходимо создать экземпляр чего-либо.
- Проблемы, которые я вижу, заключаются в том, что нам, возможно, придется использовать HttpContext.Items, поскольку большинство объектов приложения не создаются в структурной карте, и кажется, что трудно получить текущий контекст запроса изнутри фабрики.
2- Создайте контейнеры для каждой конфигурации и определите, какой контейнер использовать в зависимости от бизнес-логики.
- Проблемы, которые я вижу, это время загрузки,потребление памяти и, возможно, жизненные циклы объектов.Таким образом, я не вижу здесь никакой реальной проблемы, просто мне кажется неправильным иметь несколько контейнеров.
1 - Вы видите другие проблемы?
2 - Есть идея получше?
3 - Какую бы вы выбрали?
Спасибо
РЕДАКТИРОВАТЬ
, и кажется, что трудно получить текущий контекст запроса изнутри фабрики.
Я не имею в виду HttpContext, я имею в виду данные запроса.Для этого приложения это объект запроса wcf.