您的位置:首页 > 编程语言 > C#

C# 使用代码来操作 IIS

2015-04-30 14:43 357 查看
由于需要维护网站的时候,可以自动将所有的站点HTTP重定向到指定的静态页面上。

要操作 IIS 主要使用到的是“Microsoft.Web.Administration.dll”。
该类库不可以在引用里找到,存放在“C:\Windows\System32\inetsrv”目录下。

Microsoft.Web.Administration.ServerManager


该类是操作 IIS 的类。

var siteName = "admin.rapid.com";

using (ServerManager serverManager = new ServerManager())
{
//获得 IIS 站点信息。
var site = serverManager.Sites[siteName];

//获得站点根目录下的“Web.Config”文件配置信息。
var config = site.GetWebConfiguration();

//取得站点根目录下的“Web.Config”文件 => “<system.webServer>”节点下的“<httpRedirect>”节点,如果不存在,则创建。
ConfigurationSection httpRedirectSection = config.GetSection("system.webServer/httpRedirect");

/*
* 设置节点参数。
* enabled:是否启用。
* destination:目标 URL 或者文件。
* exactDestination:
* httpResponseStatus:
*/
httpRedirectSection["enabled"] = false;
httpRedirectSection["destination"] = @"http://www.rapid.com/error/500$S$Q";
httpRedirectSection["exactDestination"] = true;
httpRedirectSection["httpResponseStatus"] = @"Temporary";

//回收应用程序池。
serverManager.ApplicationPools[siteName].Recycle();

//提交。
serverManager.CommitChanges();
}


注释已说明。

由于提交后,会直接修改站点根目录 下的“Web.config”文件,所以,需要进行应用程序池回收操作才能生效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: