2013-05-14 50 views
3

基於Duplicate Connection String Error問題我在添加connectionstring之前添加了remove標記。這解決了原始問題的問題。加密配置文件不適用連接字符串中的「刪除」標記

但是,當我爲web.config文件(使用aspnet_regiis)應用RSA加密時,錯誤又回來了。

解析器錯誤信息:條目'theConnectionString'已被添加。

我想,當加密的,他並沒有叫的「刪除」的語句。是這樣嗎?有關此問題的任何解決方法?

原始的ConnectionString

<connectionStrings> 
<remove name="theConnectionString" /> 
<add name="theConnectionString" ... /> 
<connectionStrings> 

加密配置

enter image description here

+0

該元素看起來像什麼加密? (不要發佈整個密文) – Oded 2013-05-14 15:36:19

+0

@Oded我已經用加密部分的屏幕截圖更新了問題。如果在下載圖像時遇到任何問題,請告訴我。 – Lijo 2013-05-14 17:44:21

+1

當您手動將其解密時,它看起來像什麼? – Oded 2013-05-14 17:48:56

回答

2

通過使用Clear代替Remove作爲connectionStrings節的第一條語句,我可以解決這個問題。

注意:Clear即使在我手動解密配置文件後仍然保留。但在加密 - 解密後不會保留Remove。 [感謝@Oded給了一個評論,以檢查本]

參考Connection Strings and Configuration Files

Machine.config文件中還包含一個connectionStrings節,其中包含由Visual Studio使用的連接字符串。在Windows應用程序的app.config文件中,通過提供程序名稱檢索連接字符串時,machine.config中的連接字符串首先被加載,然後是app.config中的條目。在connectionStrings元素之後立即添加清除將刪除所有從內存中的數據結構繼承的引用,以便僅考慮在本地app.config文件中定義的連接字符串。