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