C#创建和删除虚拟目录
需要引用一个命名空间 using System.DirectoryServices;
创建:
删除:
注:本文章来自多个他人页面的摘录,并非本人原创。
创建:
/// <summary>
/// 创建一个虚拟目录
/// </summary>
/// <param name="nameDirectory">虚拟目录名</param>
/// <param name="realPath">虚拟目录所在主目录</param>
public void CreateVirtualDirectory(string nameDirectory, string realPath)
{
DirectoryEntry _iisServer = new DirectoryEntry("IIS://LocalHost/W3SVC/1");
DirectoryEntry folderRoot = _iisServer.Children.Find("Root", "IIsWebVirtualDir");
DirectoryEntry newVirDir = folderRoot.Children.Add(nameDirectory, "IISWebVirtualDir");
newVirDir.CommitChanges();
// Set Properties
newVirDir.Properties["AccessRead"][0] = true;
newVirDir.Properties["AccessWrite"][0] = true;
//newVirDir.Properties["Path"].add(realPath);
newVirDir.Properties["Path"].Value = realPath;
// Create a Application
newVirDir.Properties["AppFriendlyName"][0] = nameDirectory;
newVirDir.Invoke("AppCreate", true);
// Save Changes
newVirDir.CommitChanges();
folderRoot.CommitChanges();
_iisServer.CommitChanges();
}
/// 创建一个虚拟目录
/// </summary>
/// <param name="nameDirectory">虚拟目录名</param>
/// <param name="realPath">虚拟目录所在主目录</param>
public void CreateVirtualDirectory(string nameDirectory, string realPath)
{
DirectoryEntry _iisServer = new DirectoryEntry("IIS://LocalHost/W3SVC/1");
DirectoryEntry folderRoot = _iisServer.Children.Find("Root", "IIsWebVirtualDir");
DirectoryEntry newVirDir = folderRoot.Children.Add(nameDirectory, "IISWebVirtualDir");
newVirDir.CommitChanges();
// Set Properties
newVirDir.Properties["AccessRead"][0] = true;
newVirDir.Properties["AccessWrite"][0] = true;
//newVirDir.Properties["Path"].add(realPath);
newVirDir.Properties["Path"].Value = realPath;
// Create a Application
newVirDir.Properties["AppFriendlyName"][0] = nameDirectory;
newVirDir.Invoke("AppCreate", true);
// Save Changes
newVirDir.CommitChanges();
folderRoot.CommitChanges();
_iisServer.CommitChanges();
}
删除:
DirectoryEntry folderRoot = _iisServer.Children.Find("MyWeb","IISWebVirtualDir");
folderRoot.Invoke("AppDelete",true);
folderRoot.CommitChanges();
folderRoot.Invoke("AppDelete",true);
folderRoot.CommitChanges();
注:本文章来自多个他人页面的摘录,并非本人原创。
理解的越多,需要记忆的就越少