繁体   English   中英

IIS错误:无法识别的配置路径'MACHINE / WEBROOT / APPHOST / websiteName

[英]IIS Error: Unrecognized configuration path 'MACHINE/WEBROOT/APPHOST/websiteName

我想设置IP地址,并在C#代码域限制 ,我下面这个文章,但它给了我无法识别的位置误差。

错误:无法识别的配置路径'MACHINE / WEBROOT / APPHOST / websiteName

我的代码:

using (var serverManager = new ServerManager())
            {
                var config = serverManager.GetApplicationHostConfiguration();
                var ipSecuritySection = config.GetSection("system.webServer/security/ipSecurity", "websiteName");
                var ipSecurityCollection = ipSecuritySection.GetCollection();

                var addElement = ipSecurityCollection.CreateElement("add");
                addElement["ipAddress"] = @"SomeIP";
                addElement["allowed"] = false;
                ipSecurityCollection.Add(addElement);

                var addElement1 = ipSecurityCollection.CreateElement("add");
                addElement1["ipAddress"] = @"SomeIP";
                addElement1["subnetMask"] = @"255.255.0.0";
                addElement1["allowed"] = false;
                ipSecurityCollection.Add(addElement1);

                serverManager.CommitChanges();

            }

在这一行之后它给了我错误:

var ipSecuritySection = config.GetSection(“system.webServer / security / ipSecurity”,“websiteName”);

任何人都可以说出错误,或者我错过了什么。

您可能会在IIS / IIS Express中获得一个损坏的applicationHost.config,其中该网站无法拥有根应用程序。 如果您不知道如何编辑,请在问题中发布文件的<sites>标记,以便其他人可以查看并建议如何修复。

老化的问题,但我想我会分享我的解决方案。

location参数必须与applicationHost.config文件中的位置路径匹配。 这意味着如果websiteName实际上是另一个站点下的应用程序,例如默认网站,其位置部分将如下所示:

<location path="Default Web Site/websiteName">
    <system.webServer>
      <.../> 
    </system.webServer>
</location>

如果是这样,你的第5行应如下所示:

var ipSecuritySection = config.GetSection("system.webServer/security/ipSecurity", "Default Web Site/websiteName");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM