.net操作IIS中的虚拟目录

本文介绍了如何使用C#和System.DirectoryServices.dll库创建、更新和删除IIS虚拟目录,包括关键步骤和实例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1.创建IIS虚拟目录
 用到的命名空间:System.DirectoryServices(须先引入System.DirectoryServices.dll)
 DirectoryEntry的功能是目录入口。使用过ADSI的人都知道操作IIS,WinNT这些时,我们还需要提供他们的Path,操作IIS时,这个Path的格式为: 
 IIS://ComputerName/Service/Website/Directory
 
 ComputerName:即操作的服务器的名字,可以是名字也可以是IP,经常用的就是localhost 
 Service:即操作的服务器,IIS中有Web,也有FTP,还有SMTP这些服务,我们主要是操作IIS的Web功能,因此此处就是"W3SVC",如果是FTP则应是"MSFTPSVC"
 WebSite:一个IIS服务中可以包括很多的站点,这个就用于设置操作的站点。他的值是一个数字,默认是1,表示缺省站点,如果有其它,则从1开始依次类推。 
 Directory:不用说,即操作的目录名称,一个站点一般顶层目录为"ROOT",其它目录则是他的孩子(Child)

 获取一个站点的顶层目录(根目录): DirectoryEntry rootfolder = new DirectoryEntry("IIS://localhost/W3SVC/1/ROOT");(如果创建这个对象是没有发生异常,则表示这个目录是真实存在的)
 DirectoryEntry newVirDir = rootfolder.Children.Add("Aspcn","IIsWebVirtualDir");(假设添加的新虚拟目录名称是"Aspcn","IIsWebVirtualDir"为schema的类命,表明加入的目录类型)
 newVirDir.Invoke("AppCreate",true);(使用DirectoryEntry的Invoke方法,调用ADSI中的"AppCreate"方法将目录真正创建)
 newVirDir.CommitChanges();
 rootfolder.CommitChanges();
 创建新目录时,也可以同时给这个目录的属性赋值,但实战经验表明,如果创建时就赋值,很多属性不能赋值成功,如真实目录的"path"属性。最好先创建目录,后再赋值,即更新目录信息。

2.更新虚拟目录
 IIS的一些重要设置,如可读(AccessRead)、可写(AccessWrite)、可执行(AccessExecute)等,都可通过对DirectoryEntry的Properties属性集合的赋值来实现。赋值方式分两种:
  (1)调用Properties集合的Add方法,如: newVirDir.Properties["AccessRead"].Add(true);
  (2)对第一个索引值赋值,如:dir.Properties["AccessRead"][0] = true;
 在进行赋值之前确定需要赋值的目标,可以使用DirectoryEntries类的Find方法,如:DirectoryEntry de = rootfolder.Children.Find("Aspcn","IIsVirtualDir");
 虚拟目录的属性值很多,比较常用的是:AccessRead,AccessWrite,AccessExecute,AccessScript,DefaultDoc,EnableDefaultDoc,Path

3.删除虚拟目录
 删除虚拟目录就是先找到要删除的虚拟目录,然后调用AppDelete方法:
 DirectoryEntry de = rootfolder.Children.Find("Aspcn","IIsVirtualDir");
 de.Invoke("AppDelete",true);
 rootfolder.CommitChanges();
 另一个种方式,就是调用Root目录的Delete方法:
 object[] paras = new object[2];
 paras[0] = "IIsWebVirtualDir"; //表示操作的是虚拟目录
 paras[1] = "Aspcn";
 rootfolder.Invoke("Delete",paras);
 rootfolder.CommitChanges();

 

本文转自: http://www.cnblogs.com/freeliver54/archive/2008/04/16/1155574.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值