我知道如何在Web.config文件中使用asp.net为IIS网站添加错误页面
<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
我们可以在IIS中手动添加。
但我想根据网站名称添加错误页面。
例如..
网站名称:“Foo1”
错误页面应为:\ Foo1 \ err.html
如何使用控制台或WinForms从C#添加错误页面。 请帮帮我
答案 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();
}