Как вы собираетесь регистрировать разные экземпляры IDbConnectionFactory в Funq, а затем обращаться к ним непосредственно в своих сервисах? Именованные экземпляры каким-то образом вступают в игру здесь?
Это лучший подход, который можно использовать при использовании разных баз данных через службы?
Спасибо!
EDIT:
Пример;). Я мог бы быть здесь, потому что я довольно новичок в IoC, но скажу, например, что у меня есть два отдельных соединения с базой данных, которые я бы хотел ввести. В ServiceStack это делается в Global.asax.
container.Register<IDbConnectionFactory>(c =>
new OrmLiteConnectionFactory(@"Connection String 1", SqlServerOrmLiteDialectProvider.Instance));
container.Register<IDbConnectionFactory>(c =>
new OrmLiteConnectionFactory(@"Connection String 2", SqlServerOrmLiteDialectProvider.Instance));
Оба эти, кажется, инъецируются хоккой дори.
Затем они автоматически запускаются в конце службы через что-то вроде этого:
public IDbConnectionFactory DbFactory { get; set; }
В этом случае мне кажется, что я первый зарегистрировал. Как я могу получить доступ к определенному в конце сервиса? Надеюсь, это сделает его более понятным.
Здесь приведен полный пример из ServiceStack.Examples, который использует только 1 IDbConnectionFactory: Показ фильмов