我有一個Autofac DI容器,並使用構造函數注入將配置設置注入到我的SampleClass中。配置管理器類創建爲singleInstance,因此使用相同的單個實例。拋出異常構造函數注入 - AutoFac依賴注入
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',使用它等等。如果你處理異步,同步或多線程,很難給出一個通用的建議。 – 2012-01-30 17:20:57