Microsoft.Web.Administration in IIS 7

微软为管理IIS7提供了非常强大的API——Microsoft.Web.Administration,可以很方便的让我们以编程的方式管理,设定IIS 7的各项配置。Microsoft.Web.Administration.dll位于IIS的目录(%WinDir%\System32\InetSrv)下,在项目中添加对其的引用后您就可以使用这些API了。下图显示了Microsoft.Web.Administration.dll中的主要对象。

下面通过几个简单的例子来体验Microsoft.Web.Administration的功能(本文所有代码均在 windows7 + iis7.5 下测试通过)

创建站点

ServerManager iisManager = new ServerManager();
iisManager.Sites.Add("1000seocom", "http", "*:80:", "d:\\1000seocom");
iisManager.CommitChanges(); 

 

将一个应用程序(Application)添加到一个站点

ServerManager iisManager = new ServerManager();
iisManager.Sites["1000seocom"].Applications.Add("/blog", "d:\\blog");
iisManager.CommitChanges();

 

建立一个虚拟目录(Virtual Directory)

ServerManager iisManager = new ServerManager();
Microsoft.Web.Administration.Application app = iisManager.Sites["1000seocom"].Applications["/blog"];
app.VirtualDirectories.Add("/images", "d:\\virdir");
iisManager.CommitChanges(); 

 

运行状态控制

停止站点

ServerManager iisManager = new ServerManager();
iisManager.Sites["1000seocom"].Stop();

启动站点

ServerManager iisManager = new ServerManager();
iisManager.Sites["1000seocom"].Start();

回收应用程序池

ServerManager iisManager = new ServerManager();
iisManager.ApplicationPools["DefaultAppPool"].Recycle(); 

得到当前正在处理的请求

ServerManager iisManager = new ServerManager();
StringBuilder str = new StringBuilder();
foreach (WorkerProcess w3wp in iisManager.WorkerProcesses)
{
   str.Append("W3WP  "+ w3wp.ProcessId+"\n");
   foreach (Request request in w3wp.GetRequests(0))
   {
       str.Append(request.Url+ "-" +request.ClientIPAddr+" "+request.TimeElapsed+" "+request.TimeInState+"\n");
   }
}
MessageBox.Show(str.ToString());


更多功能请参考:http://msdn.microsoft.com/zh-cn/library/ms613523(v=vs.90).aspx

 

 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值