如何防止 web.config 中出现重复的 appSettings
How to prevent duplicate appSettings in web.config
ASP.NET MVC4 C# 应用程序 web.config 包含类似
的设置
<configuration>
<appSettings>
<add key="DefaultDataBase"
value="db1"/>
..
方法
public static string DefaultDataBase
{
get
{
return WebConfigurationManager.AppSettings["DefaultDataBase"] ?? "mydefault";
}
}
用于在代码中获取。
如果 web.config 不小心包含重复键,例如
<configuration>
<appSettings>
<add key="DefaultDataBase"
value="db1"/>
<add key="DefaultDataBase"
value="db2"/>
..
这段代码默默地返回了错误的值 db2
如何检测重复键并对重复项抛出 ApplicationException?
无法使用 AppSettings 属性。它只是一个普通的字典,当你在已经有一些数据的键中设置数据时,这些数据就会被替换。
您可以通过阅读 web.config xml 来检查重复项,例如使用 XmlReader(或其他技术)。但这不是常见的机制,因为配置文件应该由 "responsible" 人更改。
ASP.NET MVC4 C# 应用程序 web.config 包含类似
的设置<configuration>
<appSettings>
<add key="DefaultDataBase"
value="db1"/>
..
方法
public static string DefaultDataBase
{
get
{
return WebConfigurationManager.AppSettings["DefaultDataBase"] ?? "mydefault";
}
}
用于在代码中获取。 如果 web.config 不小心包含重复键,例如
<configuration>
<appSettings>
<add key="DefaultDataBase"
value="db1"/>
<add key="DefaultDataBase"
value="db2"/>
..
这段代码默默地返回了错误的值 db2
如何检测重复键并对重复项抛出 ApplicationException?
无法使用 AppSettings 属性。它只是一个普通的字典,当你在已经有一些数据的键中设置数据时,这些数据就会被替换。
您可以通过阅读 web.config xml 来检查重复项,例如使用 XmlReader(或其他技术)。但这不是常见的机制,因为配置文件应该由 "responsible" 人更改。