使用Microsoft.Web.Administration设置ASP设置

时间:2017-06-15 11:47:45

标签: c# iis asp-classic

是否可以使用asp软件包为给定的location配置Microsoft.Web.Administration设置?

我想以编程方式将以下部分添加到本地IIS applicationHost.config文件中。

<configuration>
    ...

    <location path="Default Web Site/myAppPath">
        <system.webServer>
            <asp appAllowClientDebug="true" appAllowDebugging="true" enableParentPaths="true" scriptErrorSentToBrowser="true" />
        </system.webServer>
    </location>

</configuration>

我找不到任何方法,因为本节不属于任何可以使用此软件包维护的网站或应用程序。

如果没有,是否有更多功能丰富的替代Microsoft.Web.Administration

1 个答案:

答案 0 :(得分:3)

这是可能的。如果您的服务器上安装了Administration Pack,甚至还有一个向导可以帮助您从IIS管理器GUI创建此类脚本。

IIS管理器&gt;网站&gt;默认网站&gt; myAppPath &gt;配置编辑器

默认网站采用了屏幕截图,但像您这样的虚拟应用程序的步骤相同。

IIS Configuration Editor

选择部分(system.webServer/asp)和配置文件(ApplicationHost.config <location path="Default Web Site/myAppPath">)并进行更改。

enter image description here

进行更改后请勿点击应用,只需点击生成脚本即可。这将打开一个对话框,其中包含一些可用于以编程方式进行更改的脚本。

Script Diaog

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample {

    private static void Main() {

        using(ServerManager serverManager = new ServerManager()) { 
            Configuration config = serverManager.GetApplicationHostConfiguration();

            ConfigurationSection aspSection = config.GetSection("system.webServer/asp", "Default Web Site");
            aspSection["appAllowClientDebug"] = true;
            aspSection["appAllowDebugging"] = true;
            aspSection["enableParentPaths"] = true;
            aspSection["scriptErrorSentToBrowser"] = true;

            serverManager.CommitChanges();
        }
    }
}