尝试使用Castle Windsor在ASP.NET MVC中实现多租户

时间:2012-01-18 16:23:14

标签: asp.net-mvc dependency-injection inversion-of-control castle-windsor castle

我已使用以下代码注册了我的实现:

container.Register(Component.For<IDatabaseProvider>().ImplementedBy<SqlDatabaseProvider>().LifeStyle.Transient.NamedAutomatically("SqlDatabaseProvider"));
container.Register(Component.For<IDatabaseProvider>().ImplementedBy<MySqlDatabaseProvider>().LifeStyle.Transient.NamedAutomatically("MySqlDatabaseProvider"));

让内核使用:

添加HandlerSelector
Kernel.AddHandlerSelector(new DatabaseProviderHandlerSelector());

在我的HandlerSelector的“SelectHandler”方法中:

public IHandler SelectHandler(string key, Type service, IHandler[] handlers)

密钥似乎总是为空。类型正确,处理程序包含两个实现。

如何为该方法提供密钥,以便我可以根据密钥选择实现?

由于 内甚

0 个答案:

没有答案