【问题标题】:Encrypted config file does not apply “remove” tag in connectionStrings加密的配置文件不会在 connectionStrings 中应用“删除”标签
【发布时间】:2013-05-14 15:21:23
【问题描述】:

基于Duplicate Connection String Error 问题,我在添加连接字符串之前添加了remove 标记。这解决了原始问题的问题。

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

解析器错误消息:已添加条目“theConnectionString”。

我认为,加密时,它不会调用“删除”语句。是这样吗?这个问题有什么解决方法吗?

原始连接字符串

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

加密配置

【问题讨论】:

  • 元素看起来像加密了什么? (不要发布整个密文)
  • @Oded 我已经用加密部分的屏幕截图更新了问题。如果下载图像有任何问题,请告诉我。
  • 手动解密回来的时候是什么样子的?
  • @Oded 手动解密时,remove 标签不存在。我们可以做些什么来克服这个问题?
  • 您需要找到之前添加的“更高”web.config 文件 - 可能将其删除。

标签: asp.net


【解决方案1】:

通过使用Clear 而不是Remove 作为连接字符串部分的第一条语句,我可以解决问题。

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

参考Connection Strings and Configuration Files

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

【讨论】:

    猜你喜欢
    • 2015-06-17
    • 1970-01-01
    • 2016-04-16
    • 2022-01-21
    • 1970-01-01
    • 2013-12-07
    • 2020-09-16
    • 2017-07-16
    • 1970-01-01
    相关资源
    最近更新 更多