1
背景:使用Asp.Net核心网站依赖注入中继需要服务的网站的各个部分动态更新依赖注入服务
我有被添加到IServiceCollection在ConfigureServices方法在我启动服务类如下面的方式单:
//Settings
services.AddSingleton<ISettingsService, SettingsService>();
services.AddSingleton<ISettingsIO, SettingsIO>();
services.AddSingleton<ISettings>(f =>
{
return f.GetService<ISettingsService>().GetSettings();
});
这个伟大的工程,所有的网页/控制器我需要访问实例可以这样做没有问题。
但是,我现在有能力更改方法GetSettings()中的数据。这意味着我需要更新添加到ServiceCollection的服务。
我该如何做到这一点没有更改服务从单身到瞬态?
感谢您提供的任何帮助!
GetSettings如何实现? –
我不明白为什么'ISetting'也是单身人士,因为'ISettingsService'已经准备好了。为什么不把它用作transient或scoped,并让单身的'SettingsService'解决它呢? –
@YacoubMassad - GetSiteSettings返回一个ISiteSettings对象,它从查询创建到数据库。 – khrave