重复的连接字符串错误

LCJ*_*LCJ 1 c# asp.net connection-string config xdt-transform

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

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

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

在源代码中配置文件

发布配置

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

</system.web>
Run Code Online (Sandbox Code Playgroud)

调试配置

<system.web>

</system.web>
Run Code Online (Sandbox Code Playgroud)

参考文献:

  1. 在我发布的Web配置中出现不需要的连接字符串问题
  2. .NET 2.0 App.Config连接字符串包含不需要的SQLExpress默认值

Ode*_*ded 5

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

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

你可以通过几种方式解决这个问题:

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

    <connectionStrings>
     <remove name="theConnectionString" />
     <add name="theConnectionString" ... />
    <connectionStrings>
    
    Run Code Online (Sandbox Code Playgroud)

引用加密配置文件不会在connectionStrings中为相关问题应用"删除"标记

  • @Lijo - 谁知道为什么?我不是坐在你的电脑前.您可能已将`web.config`复制到错误的目录.这种转变不太可能涉及. (2认同)