-
对虚拟目录的操作(转)
一、查看虚拟目录是否存在
private bool IsExitesVirtualDir(string virtualdirname)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
bool exited =false;
DirectoryEntry _entry = new DirectoryEntry("IIS://localhost/W3SVC/1/Root");
DirectoryEntries _entries = _entry.Children;
foreach(DirectoryEntry _cen in _entries)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
if(_cen.Name == virtualdirname)
exited = true;
}
return exited;
}
其中virtualdirpath指要建立的虚拟目录名称;
![](/Images/OutliningIndicators/None.gif)
二、新增虚拟目录
private void CreateVirtualDir(string virtualdirname,string logicDir)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
if(IsExitesVirtualDir(virtualdirname))
DeleteVirtualDir(virtualdirname);
![](/Images/OutliningIndicators/InBlock.gif)
DirectoryEntry _rootEntry ;
_rootEntry = new DirectoryEntry("IIS://localhost/W3SVC/1/root");
DirectoryEntry _newVirDir;
_newVirDir = _rootEntry .Children.Add(virtualdirpath,"IIsWebVirtualDir");
_newVirDir.Invoke("AppCreate",true);
_newVirDir.CommitChanges();
_rootEntry .CommitChanges();
_newVirDir.Properties["AnonymousPasswordSync"][0] = true;
_newVirDir.Properties["Path"][0] = logicDir + @"virtualdirentry\virtualname\";
_newVirDir.CommitChanges();
}
_newVirDir.Properties["Path"][0] 的值为虚拟目录对应的物理地址;
![](/Images/OutliningIndicators/None.gif)
三、更新虚拟目录
public void Update(string virtualdirname)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
//判断需要更改的虚拟目录是否存在
if(_IsExitesVirtualDir(virtualdirname))
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
DirectoryEntry _rootEntry ;
_rootEntry = new DirectoryEntry("IIS://localhost/W3SVC/1/root");
DirectoryEntry ode = _rootEntry.Children.Find(virtualdirname,"IIsWebVirtualDir");
UpdateDirInfo(ode);
}
}
private void UpdateDirInfo(DirectoryEntry de)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
de.Properties["AnonymousUserName"][0] = AnonymousUserName;
de.Properties["AnonymousUserPass"][0] = AnonymousUserPass;
de.Properties["AccessRead"][0] = boolen;
de.Properties["AccessExecute"][0] = boolen;
de.Properties["AccessWrite"][0] = boolen;
de.Properties["AuthBasic"][0] = boolen;
de.Properties["AuthNTLM"][0] = boolen;
de.Properties["ContentIndexed"][0] = boolen;
de.Properties["EnableDefaultDoc"][0] = boolen;
de.Properties["EnableDirBrowsing"][0] = boolen;
de.Properties["AccessSSL"][0] = boolen;
de.Properties["AccessScript"][0] = boolen;
de.Properties["DefaultDoc"][0] = DefaultDoc;
de.Properties["Path"][0] = Path;
de.CommitChanges();
}
![](/Images/OutliningIndicators/None.gif)
四、删除虚拟目录
private void DeleteVirtualDir(string virtualdirname)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
{
DirectoryEntry _rootEntry ;
_rootEntry = new DirectoryEntry("IIS://localhost/W3SVC/1/root");
object[] paras = new object[2];
paras[0] = "IIsVirtualDir";
paras[1] = virtualdirname;
_rootEntry .Invoke("Delete",paras);
_rootEntry .CommitChanges();
}
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
-
相关阅读:
OCP-1Z0-053-V12.02-622题
OCP-1Z0-053-V12.02-501题
Flex实现查询和重置
闪回事务处理回退
闪回数据归档测试
闪回数据归档
OCP-1Z0-053-V12.02-166题
VC-摄像头控制SDK源码
MFC 的 Picture Control 加载 BMP/PNG 图片的方法
OCP-1Z0-051-V9.02-25题
-
原文地址:https://www.cnblogs.com/ghd258/p/330899.html
Copyright © 2020-2023
润新知