IIS 连接字符串未被继承

IIS 连接字符串未被继承

我遇到一个问题,我在 IIS 中的计算机级别设置了一个连接字符串,并且它会按照预期一直继承下去...除了我想要使用该字符串的应用程序。同一级别的其他应用程序确实继承了该字符串。

以前的应用程序定义了同名的连接字符串。在应用程序级别删除它会永久删除它:它不会被继承。在应用程序级别添加它会使其成为本地的。我找不到让该应用程序继承连接字符串的方法。

有没有办法重置此行为?除了完全删除应用程序外?

答案1

打开位于 C:\Windows\System32\inetsrv\config\applicationHost.config 的 AppHost 配置并搜索应用程序的名称,查看匹配项,它们是否与连接字符串有关?

您的应用是否有一个可以删除相关连接字符串的父应用?

答案2

我刚刚遇到了同样的问题。

我为服务器节点定义了一个连接字符串(在 IIS 中),然后单击默认网站下的应用程序节点上的“连接字符串”。我对其进行了修改,然后决定不需要进行修改,因此从应用程序节点中删除了连接字符串。

事情是这样的。连接字符串实际上是为服务器定义的,并由应用程序节点继承,因此我实际上并没有从应用程序节点中删除它,我实际上是说,“我不希望这个应用程序继承这个连接字符串”。

我已经将其删除,因此配置可能不完全正确,但 IIS 通过在应用程序的 web.config 中添加如下内容来实现这一点:

<connectionstrings>
    <remove name="connstringname"... />
</connectionstrings>

因此,解决方法是编辑 web.config 并删除该条目,然后您的应用程序将能够从更高的节点继承连接字符串。

相关内容