私はAutofac DIコンテナを持っており、コンストラクタインジェクションを使ってSampleClassに構成設定を注入します。 Configuration ManagerクラスはsingleInstanceとして作成され、同じ単一インスタンスが使用されます。例外がスローされましたコンストラクタの挿入 - AutoFac Dependency Injection
public ConfigurationManager()
{
// Load the configuration settings
GetConfigurationSettings();
}
public SampleClass(IConfigurationManager configurationManager)
{
_configurationManager = configurationManager;
}
構成マネージャーのコンストラクターのApp.configファイルから構成設定をロードしています。私の問題は、私も構成設定を検証しているし、それらがApp.configファイルにない場合、プログラムがクラッシュする原因となる例外がスローされます。つまり、私は例外を処理できず、応答を返します。
私は間違ったやり方をしていますか?構成設定を読み込むための良い方法がありますか、またはスローされた例外を処理する方法があります。
編集
ConfigurationManager configurationManager = new ConfigurationManager();
configurationManager.GetConfigurationSettings();
//Try catch around for the exception thrown if config settings fail
//Register the instance above with autofac
builder.Register(configurationManager()).As<IConfigurationManager>().SingleInstance();
//Old way of registering the configurationManager
builder.Register(c => new ConfigurationManager()).As<IConfigurationManager>().SingleInstance();
詳細はあまりにも小さいです。解決方法は、コンテナを初期化し、 'SampleClass'を解決し、それを使用するなどの方法に依存します。非同期、同期、またはマルチスレッドに対処する場合は、一般的なアドバイスを行うことは非常に困難です。 –