发布一个应用程序后,用浏览器打开站点,发现是500错误,也看不到提示。如果去看iis日志,这是inetmgr会提示是web.confg有问题,仔细一看是哪一行,发现是数据库连接字符串中含有特殊字符。
事实上App.config是xml文件,在xml文件中特殊字符要进行HTML转义.HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用。这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,就要用到HTML转义字符串(Escape Sequence)了.
HTML特殊转义字符列表
最常用的字符实体
显示 | 说明 | 实体名称 | 实体编号 |
空格 | |   | |
< | 小于 | < | < |
> | 大于 | > | > |
& | &符号 | & | & |
" | 双引号 | " | " |
© | 版权 | © | © |
® | 已注册商标 | ® | ® |
™ | 商标(美国) | ™ | ™ |
× | 乘号 | × | × |
÷ | 除号 | ÷ | ÷ |
所以只要把"&"进行转义就可以了,将PassWord改为
PassWord=123&456"
成功启动