如何查找IIS管理器连接字符串的位置

3
我发现一个错误,我的应用程序的web.config文件中的一个连接字符串已经被定义。我在IIS设置中检查了连接字符串属性,发现它已经存在,Entry Type为Inherited。所以我一直查找到本地主机的根目录,并检查了那里的连接字符串。我发现那里也有很多连接字符串,但它们也都是Entry Type Inherited。我检查了wwwroot文件夹中的web.config文件,但没有找到任何连接字符串的定义。这些连接字符串可能来自哪里?

enter image description here


你有检查 machine.config 文件吗?https://dev59.com/1HE95IYBdhLWcg3wadGq - JuanR
1个回答

5

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

  • systemroot\Microsoft .NET\Framework\versionNumber\CONFIG\Machine.config
  • systemroot\Microsoft .NET\Framework\versionNumber\CONFIG\Web.config (仅适用于ASP.NET)
  • (应用程序目录)\Web.config

因此,作为“继承”的连接字符串在上述两个文件中指定。

参考: MSDN: ASP.NET Configuration File Hierarchy and Inheritance

如果您不想更改全局配置,可以使用<clear />从应用程序的配置中删除它们的继承:

<connectionStrings>
   <clear />
   <add name="LocalSqlServer" connectionString="..." /> 
</connectionStrings>

谢谢。我能够在C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config中找到它们。 - psj01

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接