重复的连接字符串错误

时间:2013-01-10 12:53:25

标签: c# asp.net connection-string config xdt-transform

我在服务器中部署了一个网站。有一天它抛出一个错误,说已经添加了connection string名称。我检查了web.config文件,它只有一个名称。我从配置中删除了该条目。现在该网站运行良好,从数据库中获取数据。

注意:当我更改配置文件的名称时,显示错误。

我认为,问题是 - connectionstring部分缓存在内存中。是这样吗?我们如何克服这种不良行为?

在源代码中配置文件

发布配置

<system.web>
 <compilation xdt:Transform="RemoveAttributes(debug)" />

</system.web>

调试配置

<system.web>

</system.web>

参考文献:

  1. Issue with unwanted connection string appearing in my published web config
  2. .NET 2.0 App.Config connection strings includes unwanted SQLExpress default

1 个答案:

答案 0 :(得分:5)

这不是问题 - 当您更改web.config文件时,IIS进程会重置,因此无法进行任何缓存。

更可能的是,父目录或子目录中的web.config文件包含相同的连接字符串名称 - 这会导致错误。

您可以通过多种方式解决这个问题:

  • 确保在连接字符串名称
  • 的正确范围内只有一个web.config
  • 使用remove元素:

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

有关相关问题,请参阅Encrypted config file does not apply “remove” tag in connectionStrings