我已使用以下代码注册了我的实现:
container.Register(Component.For<IDatabaseProvider>().ImplementedBy<SqlDatabaseProvider>().LifeStyle.Transient.NamedAutomatically("SqlDatabaseProvider"));
container.Register(Component.For<IDatabaseProvider>().ImplementedBy<MySqlDatabaseProvider>().LifeStyle.Transient.NamedAutomatically("MySqlDatabaseProvider"));
让内核使用:
添加HandlerSelectorKernel.AddHandlerSelector(new DatabaseProviderHandlerSelector());
在我的HandlerSelector的“SelectHandler”方法中:
public IHandler SelectHandler(string key, Type service, IHandler[] handlers)
密钥似乎总是为空。类型正确,处理程序包含两个实现。
如何为该方法提供密钥,以便我可以根据密钥选择实现?
由于 内甚