实用主义如何使用C#为IIS网站添加默认错误页面?

时间:2017-06-26 08:50:34

标签: c# iis iis-7

我知道如何在Web.config文件中使用asp.net为IIS网站添加错误页面

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
</configuration>

我们可以在IIS中手动添加。

但我想根据网站名称添加错误页面。

例如..

  

网站名称:“Foo1”

     

错误页面应为:\ Foo1 \ err.html

如何使用控制台或WinForms从C#添加错误页面。 请帮帮我

1 个答案:

答案 0 :(得分:1)

您可以修改网站中的web.config文件,假设其运行的应用程序池具有正确的修改权限。

这可以使用WebConfigurationManager类来完成。

假设您只是想修改DefaultRedirect,您应该能够使用如下代码:

var configuration = WebConfigurationManager.OpenWebConfiguration("~");
var section = (CustomErrorsSection)configuration.GetSection("system.web/customErrors");
if(section != null)
{
    section.DefaultRedirect = "yourpage.htm";
    configuration.Save();
}

编辑:如果您想通过Microsoft.Web.Administration执行此操作,则以下代码应允许您访问特定网站的Web配置,并将customErrors defaultRedirect设置为新值:

using (ServerManager serverManager = new ServerManager())
{
    Configuration configuration = serverManager.GetWebConfiguration("your website name");

    ConfigurationSection customErrorsSection = configuration.GetSection("system.web/customErrors");
    customErrorsSection.SetAttributeValue("defaultRedirect", "/your error page.htm");
    serverManager.CommitChanges();
}