gpt4 book ai didi

dependency-injection - ServiceStack - 按名称注入(inject)存储库

转载 作者:行者123 更新时间:2023-12-04 08:21:09 26 4
gpt4 key购买 nike

全部,

我已经阅读了 SS 使用 Func 进行注册的方式。我当前的问题是我仍然没有看到如何从运行时调用特定实例。

我想做的是设置两个不同的存储库类,代表两个不同的数据库系统,比如 SQLDB 和 MongoDB,它们都继承自 IDB,然后能够根据应用程序中的设置确定使用哪个数据库配置文件。

我的 Configure 方法中现在只有

container.Register("SQLDB", new TestSQLDB("connectionName"));
container.Register("MongoDB", new TestMongoDB("mongoURL"));

如果有人能帮我填空,我将不胜感激。我已经使用 Ninject 解决了这个问题,但如果不需要,我宁愿不必添加它。

谢谢,Bs

最佳答案

通过具体类型(或接口(interface),如果您愿意)注册:

container.Register<SQLDB>(new TestSQLDB("connectionName"));
container.Register<MongoDB>(new TestMongoDB("mongoURL"));

当你想要一个回来时:

var mySqlDB = container.Resolve<SQLDB>();
var myMongoDB = container.Resolve<MongoDB>();

关于dependency-injection - ServiceStack - 按名称注入(inject)存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18873663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com