App.config/Web.config 中特殊字符的处理
我們知道在應(yīng)用程序中嵌入連接字符串可能導(dǎo)致安全漏洞和維護(hù)問(wèn)題。使用?Ildasm.exe(MSIL 反匯編程序)?工具可以查看編譯到應(yīng)用程序源代碼中的未加密連接字符串。此外,如果連接字符串發(fā)生更改,則必須重新編譯應(yīng)用程序。因此,強(qiáng)烈建議將連接字符串存儲(chǔ)在應(yīng)用程序配置文件中。
最近在學(xué)習(xí)SQL Server時(shí)遇到連接字符串包含特殊字符出現(xiàn)編譯錯(cuò)誤的問(wèn)題。
App.config:
<?xml version="1.0" encoding="utf-8" ?> <configuration><startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /></startup><connectionStrings><add name="DBconnStr" connectionString="Data Source=.;Initial Catalog=MyTest;User ID=sa;PassWord=123&456"/></connectionStrings> </configuration>由于數(shù)據(jù)庫(kù)連接的密碼中含有特殊字符"&",編譯時(shí)出現(xiàn)如下如下錯(cuò)誤信息:
顯然編譯器不認(rèn)識(shí)"&456",怎么解決呢,總不能更換密碼吧?
事實(shí)上App.config是xml文件,在xml文件中特殊字符要進(jìn)行HTML轉(zhuǎn)義。
HTML中<,>,&等有特殊含義(<,>,用于鏈接簽,&用于轉(zhuǎn)義),不能直接使用。這些符號(hào)是不顯示在我們最終看到的網(wǎng)頁(yè)里的,那如果我們希望在網(wǎng)頁(yè)中顯示這些符號(hào),就要用到HTML轉(zhuǎn)義字符串(Escape Sequence)了
?
HTML特殊轉(zhuǎn)義字符列表
最常用的字符實(shí)體
| 顯示 | 說(shuō)明 | 實(shí)體名稱 | 實(shí)體編號(hào) |
| ? | 空格 | |   |
| < | 小于 | < | < |
| > | 大于 | > | > |
| & | &符號(hào) | & | & |
| " | 雙引號(hào) | " | " |
| ? | 版權(quán) | © | © |
| ? | 已注冊(cè)商標(biāo) | ® | ® |
| ? | 商標(biāo)(美國(guó)) | ? | ™ |
| × | 乘號(hào) | × | × |
| ÷ | 除號(hào) | ÷ | ÷ |
所以只要把"&"進(jìn)行轉(zhuǎn)義就可以了,將PassWord改為
PassWord=123&456"
成功通過(guò)編譯。
?
http://www.cnblogs.com/fordwayne/p/3200470.html
轉(zhuǎn)載于:https://www.cnblogs.com/tianciliangen/p/9836491.html
總結(jié)
以上是生活随笔為你收集整理的App.config/Web.config 中特殊字符的处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 有在深圳美迪电商学习过美工设计的吗?怎么
- 下一篇: 谜题14:转义字符的溃败