一、引言:

        关于IIS7 Mocrosoft.Web.Administration  网上这方面详细资料相对来说比较少,大家千篇一律的(都是一篇翻译过来的文章,msdn 里面的实列没有)。前段做了一个相关的项目,找得非常勤苦,借此机会把相关东西整理记录下来分享给大家 !!!

 

二、MWA 总侃

Microsoft.Web.Administration(MWA) API 是专门为IIS7.0 开发新功能,为IIS 管理编程提供了一个强类型的.net类型的集合。这个API 保持在(%WinDir%\System32\InetSrv)

MWA 根级别类是ServerManager 这个是其他所有类的基类。

 IIS7 开发与 管理 编程 之 Microsoft.Web.Administration                      

我们很容易对这类的结构进行可视化。在这个结构中,包括5个类对象: Site、Application、VirtualDirectory、ApplicationPool,以及WorkerProcess。此外还包括了一些辅助类。

一个Application 属于一个Site, 而一个VirtualDirectory 属于一个Application。这些类型对象都不知对立的,他们必须是父对象组成部分。

         利用WorkerProcess 类,我们可以实时观察服务器的配置数据!我们还可以访问当前运行的工作进程,其实可以观察当前处于运行状态的强求(页就是我们在server2008 IIS Manager )

 

    另外,ServerManager类提供了一系列的方法,利用这些方法,可以直接管理配置文件,如果大家熟悉IIS 配置方面东西应该知道IIS 包括一系列的config xml 文件,如果我们直接去管理编辑这些文件是比较复杂的,而ServerManager使得这个过程变得非常的简单。

二、配置类

核心的配置类包括 ApplicationPool、Site、Application 和VirtualDirectory,还有包括其他的一些辅助类,用于设置对象默认值。在创建这些对象非常容易。

 

1)  显示站点列表

 1 void getListOfIIS(){
 2             this.listBox1.Items.Clear();
 3             string StateStr = "";
 4             for(int i=0; i<IISManager.Sites.Count;i++){
 5                 
 6                 switch(IISManager.Sites[i].State){
 7                         case ObjectState.Started:{
 8                             StateStr = "正常";break;
 9                         }
10                         case ObjectState.Starting:{
11                             StateStr = "正在启动"; break;
12                         }
13                         case ObjectState.Stopping:{
14                             StateStr = "正在关闭"; break;
15                         }
16                         case ObjectState.Stopped:{
17                             StateStr = "关闭";break;
18                         }
19                 }
20                 this.listBox1.Items.Add(IISManager.Sites[i].Name+""+StateStr+"");
21             }
22    }
View Code

相关文章: