ConfigurationManager解析器无法读取c#中的特殊字符

时间:2014-06-06 03:41:40

标签: c# special-characters configurationmanager

从app.config文件加载时,我遇到错误“配置系统无法初始化”。

在我的app.config文件中,我有一个自定义部分,其中密码密钥具有特殊字符值。

<appSettings>
  <add key="UserName" value="Alex" />
  <add key="Password" value="Test&123<456" />
</appSettings>

当代码中的应用程序步骤为读取app.config文件时。应用程序崩溃,显示上面显示的错误消息。

...
_password = System.Configuration.ConfigurationManager.AppSettings["UserName"];
_password = System.Configuration.ConfigurationManager.AppSettings["Password"];
...

只要app.config文件中有特殊字符,系统根本无法读取。

有没有办法克服这个问题?此外,我找到了一个alternate solution的网站。那就是将特殊字符更改为htmlcode,但如果我们要求最终用户执行此操作,那么这听起来不对。

无论如何都要克服这个问题?感谢

1 个答案:

答案 0 :(得分:2)

使用静态方法

HttpUtility.HtmlEncode

改变&amp;到&amp; amp;

使用

HttpUtility.HtmlDecode

反过来。

最终用户是否输入特殊字符,最终用户不应该看不到HTML编码和解码。