1
背景:Asp.Netコアのウェブサイトは、ウェブサイトの様々な部分に必要なサービスを中継する依存性注入を使用しては、動的依存性注入のサービスに更新
私は私のスタートアップにConfigureServices方法でIServiceCollectionに追加されているサービスを持っています
//Settings
services.AddSingleton<ISettingsService, SettingsService>();
services.AddSingleton<ISettingsIO, SettingsIO>();
services.AddSingleton<ISettings>(f =>
{
return f.GetService<ISettingsService>().GetSettings();
});
これは素晴らしい作品と私は例にアクセスする必要があるすべてのページ/コントローラは問題なく行うことができます:次のようにシングルトンとしてクラス。
しかし、GetSettings()メソッドで取得されているデータを変更する機能が追加されました。これは、をServiceCollectionに追加されたサービスに更新する必要があることを意味します。
これを行うにはどうすればいいですか?サービスをシングルトンからトランジェントに変更することなくを使用しないでください。
ありがとうございました!
を'GetSettings'はどのように実装されていますか? –
'ISettingsService'がallreadyなので、' ISetting'もなぜシングルトンであるのか分かりません。なぜそれを一時的なものかスコープ的なものとして使用し、シングルトンの人が 'SettingsService'を解決させるのはなぜですか? –
@YacoubMassad - GetSiteSettingsは、クエリからデータベースに作成するISiteSettingsオブジェクトを返します。 – khrave