如何使用 C# 为 IIS 网站添加默认错误页面?
Pragmatically How to add Default Error Pages for IIS website Using C#?
我知道如何使用 Web.config 文件中的 asp.net 为 IIS 网站添加错误页面
<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
也可以在IIS中手动添加
但我想根据网站名称添加错误页面。
例如..
Website name: "Foo1"
Error Page Should be: \Foo1\err.html
如何使用控制台或 WinForms 从 C# 添加错误页面。
请帮助我
您可以修改网站中的 web.config 文件,前提是 运行 下的应用程序池具有修改它的正确权限。
这可以使用 WebConfigurationManager class 来完成。
假设您只是想修改 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();
}
我知道如何使用 Web.config 文件中的 asp.net 为 IIS 网站添加错误页面
<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
也可以在IIS中手动添加
但我想根据网站名称添加错误页面。
例如..
Website name: "Foo1"
Error Page Should be: \Foo1\err.html
如何使用控制台或 WinForms 从 C# 添加错误页面。 请帮助我
您可以修改网站中的 web.config 文件,前提是 运行 下的应用程序池具有修改它的正确权限。
这可以使用 WebConfigurationManager class 来完成。
假设您只是想修改 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();
}