在通过抽象工厂创建类的实例时,
一般,我们都会在Web.Config里设置程序集,如:
<
appSettings
>
< add key = " DAL " value = " SqlDAL " />
</ appSettings >
< add key = " DAL " value = " SqlDAL " />
</ appSettings >
然后,在抽象工厂里读取配置信息并创建类的实例,如:
private
static
readonly
string
Path
=
ConfigurationManager.AppSettings[
"
DAL
"
];
public static IUser NewUser()
... {
string ClassName = Path + ".User";
return (IUser)Assembly.Load(Path).CreateInstance(ClassName);
}
public static IUser NewUser()
... {
string ClassName = Path + ".User";
return (IUser)Assembly.Load(Path).CreateInstance(ClassName);
}
运行程序时,出错,提示:
***的类型初始值设定引发异常...
或
配置系统未能初始化
解决方法是:
第一:查看抽象工厂DALFactory项目有没有引用SqlDAL程序集,如果没有,那要添加引用SqlDAL程序集。
第二:用除错法,先备份Web.Config,再对Web.Config进行逐项检查。如下:
检查Web.Config里哪个节是最有出错的可能,比如<connectionStrings>...</connectionStrings>,先删除这个节,再运行,再检查...,直到程序正常或确定Web.Config没错为止。