在哪里可以找到 IIS 管理器连接字符串的位置

psj*_*j01 3 .net c# asp.net iis

我收到一条错误消息,指出我的应用程序的 web.config 文件中的一个连接字符串已被定义。

我检查了 IIS 设置,当我检查连接字符串属性时,它已经存在条目类型:继承。

所以我沿着链向上一直走到本地主机的根目录并检查那里的连接字符串。

我在那里也发现了一堆连接字符串..但它们也都带有 Entry Type Inherited..

我检查了 wwwroot 文件夹中的 web.config 文件,但没有找到其中定义的任何连接字符串。

这些连接字符串来自哪里?...

在此处输入图片说明

Cod*_*ter 5

.NET 中的配置文件按以下顺序继承:

  • systemroot\Microsoft .NET\Framework\versionNumber\CONFIG\Machine.config
  • systemroot\Microsoft .NET\Framework\versionNumber\CONFIG\Web.config (仅限 ASP.NET)
  • (application directory)\Web.config

因此,显示为“继承”的连接字符串在上面两个文件中的任何一个中指定。

参考:MSDN:ASP.NET 配置文件层次结构和继承

如果您不想更改机器范围的配置,您可以<clear />在应用程序的配置中继承它们,如指定连接字符串时 <clear /> 表示什么?

<connectionStrings>
   <clear />
   <add name="LocalSqlServer" connectionString="..." /> 
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)