正文

基于DirectoryServices的IIS虚拟目录管理(4)2009-07-25 17:07:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/xman/45580.html

分享到:

        /// <summary>         /// 删除Web|Ftp虚拟目录         /// </summary>         /// <param name = "strVirDirName">         /// 欲删除虚拟目录的名称。         /// </param>         /// <returns>         /// 无返回值。<br/>         /// 如果欲删除的虚拟目录不存在,则抛出异常。注意在调用处捕获该异常。         /// </returns>         public void DeleteVirDir(string strVirDirName)         {             if(Exists(strVirDirName))             {                 object[] VirDirParas = new object[2];                 VirDirParas[0] = KeyType;                 VirDirParas[1] = strVirDirName;                 RootDE.Invoke("Delete", VirDirParas);                 RootDE.CommitChanges();             }             else             {                 throw new Exception("DeleteVirDir Exception:Virtual directory doesn't exist!");             }         }           /// <summary>         /// 更新Web|Ftp虚拟目录。         /// </summary>         /// <param name = "VD">         /// 更新虚拟目录时,将用属性集覆盖原有属性。         /// </param>         /// <returns>         /// 无返回值。<br/>         /// 如果欲更新的虚拟目录不存在,则抛出异常。注意在调用处捕获该异常。         /// </returns>         public void UpdateVirDir(VirtualDirectory VD)         {             DirectoryEntry de = GetVirDir(VD.Name);               if(de != null)             {                 UpdateDirInfo(de, VD);             }             else             {                 throw new Exception("UpdateVirDir Exception:The virtual directory doesn't exist!");             }         }           /// <summary>         /// 用属性集VD覆盖更新虚拟目录DE。<br/>         /// 当是UNC共享虚拟目录时,需要指定UNC虚拟账户。<br/>         /// Web虚拟目录的有些属性,Ftp虚拟目录并没有,         /// 分别设置Ftp和Web虚拟目录的属性。<br/>         /// </summary>         /// <param name = "DE">欲更新的虚拟目录入口</param>         /// <param name="VD">欲更新的属性集</param>         /// <returns>无返回值</returns>         public void UpdateDirInfo(DirectoryEntry DE, VirtualDirectory VD)         {             DE.Properties["Path"][0] = VD.Path;             // IISWebVirtualDir和IISFtpVirtualDir都有以下三个属性             DE.Properties["AccessRead"][0] = VD.AccessRead;             DE.Properties["AccessWrite"][0] = VD.AccessWrite;             DE.Properties["DontLog"][0] = VD.DontLog;               // 以下属性的修改只对IISWebVirtualDir有效!             if (DE.SchemaClassName == "IIsWebVirtualDir")             {                 DE.Properties["AppFriendlyName"][0] = VD.AppFriendlyName;                 DE.Properties["AccessExecute"][0] = VD.AccessExecute;                 DE.Properties["AccessScript"][0] = VD.AccessScript;                 DE.Properties["ContentIndexed"][0] = VD.ContentIndexed;                 DE.Properties["EnableDirBrowsing"][0] = VD.EnableDirBrowsing;                 DE.Properties["AppIsolated"][0] = VD.AppIsolated;             }               // 如果是UNC共享虚拟目录,则需要设置UNC账户             if (VD.IsUNCShare())             {                 DE.Properties["UNCUserName"][0] = VD.UNCUsername;                 DE.Properties["UNCPassword"][0] = VD.UNCPassword;             }               DE.CommitChanges();         }     } } 上一篇《基于DirectoryServices的IIS虚拟目录管理(3)》 下一篇《基于DirectoryServices的IIS虚拟目录管理(5)》

阅读(2935) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册