我有一个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