首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

高分求救:怎么使用这个类

2011-12-11 
高分求救:如何使用这个类?在网上找了下面这个类,是用来设置IIS服务器的,但是不会使用,请教高手指点如何调

高分求救:如何使用这个类?
在网上找了下面这个类,是用来设置IIS服务器的,但是不会使用,请教高手指点如何调用这个类里的一些方法?   查找虚拟目录是否存在   添加虚拟目录   删除虚拟目录   还有一些IIS服务器属性设置方面的,请举例示明,小弟感激不尽~~~~~~~~~~~~~~~在线等
using   System;  
    using   System.Data;  
    using   System.DirectoryServices;  
    using   System.Collections;  
    namespace   Aspcn.Management  
    {  
    ///  
    ///   IISManager   的摘要说明。  
    ///  
    public   class   IISManager  
    {  
    //定义需要使用的  
    private   string   _server,_website;  
    private   VirtualDirectories   _virdirs;  
    protected   System.DirectoryServices.DirectoryEntry   rootfolder;  
    private   bool   _batchflag;  
    public   IISManager()  
    {  
      //默认情况下使用localhost,即访问本地机  
      _server   =   "localhost ";  
      _website   =   "1 ";  
      _batchflag   =   false;  
    }  
    public   IISManager(string   strServer)  
    {  
      _server   =   strServer;  
      _website   =   "1 ";  
      _batchflag   =   false;  
    }  
    ///  
    ///   定义公共属性  
    ///  
     
    //Server属性定义访问机器的名字,可以是IP与计算名  
    public   string   Server  
    {  
      get{   return   _server;}  
      set{   _server   =   value;}  
    }  
    //WebSite属性定义,为一数字,为方便,使用string  
    //一般来说第一台主机为1,第二台主机为2,依次类推  
    public   string   WebSite  
    {  
      get{   return   _website;   }  
      set{   _website   =   value;   }  
    }  
     
    //虚拟目录的名字  
    public   VirtualDirectories   VirDirs  
    {  
      get{   return   _virdirs;   }  
      set{   _virdirs   =   value;}  
    }  
    ///  
    ///定义公共方法  
    ///  
     
    //连接服务器  
    public   void   Connect()  
    {  
      ConnectToServer();  
    }  
    //为方便重载  
    public   void   Connect(string   strServer)  
    {  
      _server   =   strServer;  
      ConnectToServer();  
    }  
    //为方便重载  
    public   void   Connect(string   strServer,string   strWebSite)  
    {  


      _server   =   strServer;  
      _website   =   strWebSite;  
      ConnectToServer();  
    }  
    //判断是否存这个虚拟目录  
    public   bool   Exists(string   strVirdir)  
    {  
      return   _virdirs.Contains(strVirdir);  
    }  
    //添加一个虚拟目录  
    public   void   Create(VirtualDirectory   newdir)  
    {  
      string   strPath   =   "IIS:// "   +   _server   +   "/W3SVC/ "   +   _website   +   "/ROOT/ "   +   newdir.Name;  
      if(!_virdirs.Contains(newdir.Name)   ||   _batchflag   )  
      {  
      try  
      {  
      //加入到ROOT的Children集合中去  
      DirectoryEntry   newVirDir   =   rootfolder.Children.Add(newdir.Name, "IIsWebVirtualDir ");  
      newVirDir.Invoke( "AppCreate ",true);  
      newVirDir.CommitChanges();  
      rootfolder.CommitChanges();  
      //然后更新数据  
      UpdateDirInfo(newVirDir,newdir);  
      }  
      catch(Exception   ee)  
      {  
      throw   new   Exception(ee.ToString());  
      }  
      }  
      else  
      {  
      throw   new   Exception( "This   virtual   directory   is   already   exist. ");  
      }  
    }  
    //得到一个虚拟目录  
    public   VirtualDirectory   GetVirDir(string   strVirdir)  
    {  
      VirtualDirectory   tmp   =   null;  
      if(_virdirs.Contains(strVirdir))  
      {  
      tmp   =   _virdirs.Find(strVirdir);  
      ((VirtualDirectory)_virdirs[strVirdir]).flag   =   2;  
      }  
      else  
      {  
      throw   new   Exception( "This   virtual   directory   is   not   exists ");  
      }  
      return   tmp;  
    }  
     
    //更新一个虚拟目录  
    public   void   Update(VirtualDirectory   dir)  
    {  
      //判断需要更改的虚拟目录是否存在  
      if(_virdirs.Contains(dir.Name))  
      {  
      DirectoryEntry   ode   =   rootfolder.Children.Find(dir.Name, "IIsWebVirtualDir ");  
      UpdateDirInfo(ode,dir);  
      }  
      else  
      {  
      throw   new   Exception( "This   virtual   directory   is   not   exists. ");  


      }  
    }  
       
    //删除一个虚拟目录  
    public   void   Delete(string   strVirdir)  
    {  
      if(_virdirs.Contains(strVirdir))  
      {  
      object[]   paras   =   new   object[2];  
      paras[0]   =   "IIsWebVirtualDir ";   //表示操作的是虚拟目录  
      paras[1]   =   strVirdir;  
      rootfolder.Invoke( "Delete ",paras);  
      rootfolder.CommitChanges();  
      }  
      else  
      {  
      throw   new   Exception( "Can 't   delete   "   +   strVirdir   +   ",because   it   isn 't   exists. ");  
      }  
    }

[解决办法]
把這個類放在你的WebSite站點App_Code目錄下,在你的cs源碼文件裡先using Aspcn.Management;然後New一個IISManager的實例即可。
[解决办法]
或者把这个类编译好,把dll文件拷贝到你的bin目录下,然后在添加该引用就可以在你的项目中使用了
[解决办法]
这是个好东西,先mark了再说
[解决办法]
好东西

热点排行