我正在使用 StructureMap 4.4.1。在我的代码中,我有 1 个具体类 ,TransactionalDatabaseClient
它实现ITransactionalDatabaseClient
,它继承自IDatabaseClient
。我正在使用该Forward
方法来重定向请求ITransactionalDatabaseClient
以使用基本接口的注册来解析,IDatabaseClient
.
这是我的相关部分Registry
:
For<IDatabaseClient>().Add(context => new TransactionalDatabaseClient(context.GetInstance<IConnectionManager>(), "sqlserver")).Named("sqlserver");
For<IDatabaseClient>().Add(context => new TransactionalDatabaseClient(context.GetInstance<IConnectionManager>(), "oracle")).Named("oracle");
Forward<IDatabaseClient, ITransactionalDatabaseClient>();
问题是,当我请求 的命名实例时ITransactionalDatabaseClient
,StructureMap 抱怨该命名实例不存在。
我究竟做错了什么?有解决方法吗?