【问题标题】:The entry '' has already been added error条目“”已添加错误
【发布时间】:2011-07-13 12:56:16
【问题描述】:

我在 ASP.net 中有一个 web.config 给我配置错误。

 <connectionStrings>   
<add name="conn1" connectionString="Data Source=test;database=test;uid=test;pwd=test"/>
<add name="conn2" connectionString="Data Source=123.123.1.123;database=test2;uid=test;pwd=test"/>
...

它抛出“已经添加了条目 'conn2'。”错误。我知道我只添加了一次。不知道有什么问题。

【问题讨论】:

  • 应该有一个行号与错误一起喷出来。您是否检查过它是否与您上面的 sn-p 对应?你确定你没有另一个名为“conn2”的参数吗?
  • 我假设您使用的是数据库? MSSQL,mongoDB,还有别的吗?您是否为数据库中的 uid 或 pwd 字段设置了唯一字段?这将为该字段创建一个重复的条目,并且取决于正在使用的数据库(每个都有自己的错误术语)可能会吐出这个错误。我希望这会有所帮助
  • 检查你web.config,你一定在其他地方定义了conn2;否则它不会出错。好吧,我刚刚测试了将那些给定的连接字符串添加到我的测试 web.config 文件中,它没有抛出任何错误。
  • 是的,我检查了文件中的行号和任何重复项,但找不到。

标签: asp.net


【解决方案1】:

它可以在 web.config 中,它是这个的父级。只需添加

<remove name="conn2" />

在添加之前(再次):)

或者使用清除所有连接字符串

<clear />

【讨论】:

  • 太棒了 - 拯救了我的一天 - 我的项目在添加发布配置文件并发布后开始出现错误。
  • 在我的例子中,我有一个与我的 ASP.NET 应用程序所在的文件夹关联的 web.config 文件,但我在其父文件夹上创建了一个 Visual Studio 项目。打开 Linq DBML 文件时,它将连接字符串(在子 web.config 文件中设置)移植到根文件夹 web.config,从而导致它重复。感谢您指出这一点。
  • 好的,这就是解决方案/解决方法。但为什么会间歇性发生呢?
  • 有多个配置按顺序进行。具有相同键的值可以在配置中按顺序定义,并且如果不先删除它就不能再次定义它。这不是解决方法,这是解决方案。您还可以通过查找定义它的配置来修复它(如果可以的话,有时您无权访问它们。)。更多信息在这里:msdn.microsoft.com/en-us/library/ms178685.aspx
【解决方案2】:

在将任何提供程序添加到 web.config 时,您应该使用 &lt;clear /&gt;。阅读这篇文章:http://weblogs.asp.net/scottgu/archive/2006/11/20/common-gotcha-don-t-forget-to-clear-when-adding-providers.aspx

上述问题的根本原因在于新的提供者是如何 在 web.config 文件中注册。

web.config 文件中的部分实现为 集合,因此可以在 同一时间

如果您有另一个项目使用相同的连接字符串名称,您将收到此错误,因为该连接字符串已添加到集合中。

【讨论】:

  • 问题是关于连接字符串,而不是提供者,所以你指向的信息是题外话。提供者利用连接字符串但不是一回事
【解决方案3】:

如果您覆盖 ToString() 方法,那么这将起作用。看起来配置机制使用它来检查集合中是否已经存在某些东西

【讨论】:

  • 其实取决于配置元素中protected override object GetElementKey(ConfigurationElement element)的实现。但是您的回答确实引导我朝着正确的方向前进,所以 +1
  • 明确一点,GetElementKey 是在集合元素上,而不是配置元素上。
【解决方案4】:

我收到了这个错误,问题原来是一个 web.config 部署到域的根目录

【讨论】:

    猜你喜欢
    • 2019-06-09
    • 2014-05-11
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    • 2017-10-10
    相关资源
    最近更新 更多