ISitecoreService接受数据库名称作为其构造函数(web或master)中的字符串参数
ISitecoreService service = new SitecoreService("master"); //or
ISitecoreService service = new SitecoreService("web");
是否可以将数据库名称作为参数动态发送到IoC并进行解析?例如,我发送web/master字符串参数并获得ISitecoreService的新实例
发布于 2017-04-07 22:02:21
是像这样吗?
container.Register<ISitecoreService>(() => new SitecoreService("master"));
发布于 2018-05-31 18:04:31
由于我有使用Sitecore的经验,而且我喜欢Simpleinjector,所以对Stevens进行了扩展。
如果您愿意,可以使用配置工厂在应用程序引导时获取Sitecore配置,访问网站配置并使用数据库属性。
var sites = Sitecore.Configuration.Factory.GetSiteInfoList();
var website = sites.Single(s => s.Name == "website");
ISitecoreService service = new SitecoreService(website.Database);
container.Register<ISitecoreService>(() => service);
这样,您的SitecoreService将使用网站配置中定义的相同数据库进行更新。
https://stackoverflow.com/questions/43279529
复制相似问题