需要引用一个命名空间
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();
}
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();
}