62,072
社区成员
发帖
与我相关
我的任务
分享
///<summary>
///创建iis虚拟目录
///</summary>
///<excepti>虚拟目录操作异常</exception>
publicoverridevoidCreateDirectory()
{
//已不覆盖的方式创建虚拟目录,当虚拟目录存在时抛出异常
this.CreateDirectory(false);
}
///<summary>
///创建iis虚拟目录
///</summary>
///<paramname="bReplace">是否覆盖掉原有的虚拟目录</param>
///<excepti>虚拟目录操作异常</exception>
publicoverridevoidCreateDirectory(boolbReplace)
{
//判断目录是否存在
if(this.Exist())
{
if(bReplace)
{
//若允许覆盖则先删除原有的虚拟目录
this.DeleteDirectory();
}
else
{
//若不允许覆盖直接抛出目录已存在的异常
DirectoryException.Throw("directoryalreadyexist");
}
}
try
{
//获取上级目录的DirectoryEntry对象
DirectoryEntryrootEntry=SystemDirectory.GetParentEntry(this);
//创建虚拟目录
DirectoryEntryentry=rootEntry.Children.Add(this.m_strAlias,"IIsWebVirtualDir");
entry.Invoke("AppCreate",true);
entry.CommitChanges();
rootEntry.CommitChanges();
//更新虚拟目录属性
SystemDirectory.UpdateEntry(entry,this.Property);
}
catch(System.Exceptionex)
{
DirectoryException.Throw(ex.Message);
}
}
///<summary>
///删除iis虚拟目录
///</summary>
///<excepti>虚拟目录操作异常</exception>
publicoverridevoidDeleteDirectory()
{
//判断目录是否存在
if(!this.Exist())
{
//若待删除的虚拟目录不存在,则抛出异常
DirectoryException.Throw("directorydoesnotexist");
}
try
{
//获取上级目录的DirectoryEntry对象
DirectoryEntryrootEntry=SystemDirectory.GetParentEntry(this);
//删除参数
object[]objParams=newobject[2];;
objParams[0]="IIsWebVirtualDir";
objParams[1]=this.m_strAlias;
//删除虚拟目录
rootEntry.Invoke("Delete",objParams);
rootEntry.CommitChanges();
}
catch(System.Exceptionex)
{
DirectoryException.Throw(ex.Message);
}
}