加密的配置文件不在connectionStrings中应用“删除”标记

时间:2013-05-14 15:21:24

标签: asp.net

基于Duplicate Connection String Error问题,我在添加connectionstring之前添加了remove标记。这解决了原问题的问题。

但是,当我为web.config文件应用RSA加密时(使用aspnet_regiis),错误又回来了。

  

分析器错误消息:已添加条目'theConnectionString'。

我认为,加密后,它不会调用'remove'语句。是这样吗?针对此问题的任何解决方法?

原始Connectionstring

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

加密配置

enter image description here

1 个答案:

答案 0 :(得分:2)

使用Clear代替Remove作为连接字符串部分中的第一个语句,我可以解决问题。

注意:即使我手动解密配置文件后,Clear也会保留。但加密 - 解密后不保留Remove。 [感谢@Oded给予评论以检查此内容]

参考Connection Strings and Configuration Files

  

machine.config文件还包含一个connectionStrings部分,其中包含Visual Studio使用的连接字符串。从Windows应用程序中的app.config文件中按提供程序名称检索连接字符串时,首先加载machine.config中的连接字符串,然后加载app.config中的条目。在connectionStrings元素从内存中的数据结构中删除所有继承的引用之后立即添加清除,以便仅考虑在本地app.config文件中定义的连接字符串。