/// <summary> /// 在IIS子站点下面创建应用程序并且创建虚拟目录 /// </summary> /// <param name="appPoolName">需要创建的应用程序名称</param> /// <param name="Path">路径</param> /// <param name="Id">站点siteId</param> /// <returns></returns> public static void CreateAppPool(string appPoolName, string path, string id) { var entPath = "IIS://localhost/w3svc"; DirectoryEntry rootfolder = new DirectoryEntry(entPath); DirectoryEntry root = new DirectoryEntry(entPath + "/" + id + "/ROOT"); DirectoryEntry siteVDir = root.Children.Add(appPoolName, "IISWebVirtualDir"); siteVDir.Properties["AppIsolated"][0] = 2; siteVDir.Properties["Path"][0] = path; siteVDir.Properties["AccessFlags"][0] = 513; siteVDir.Properties["FrontPageWeb"][0] = 1; siteVDir.Properties["AppFriendlyName"][0] = appPoolName; siteVDir.CommitChanges(); } /// <summary> /// 删除IIS站点下面的应用程序 /// </summary> /// <param name="SiteID">站点Id</param> /// <param name="appPoolName">虚拟目录(应用程序)</param> /// <returns></returns> public static bool DeletedDir(string appPoolName, string siteId) { var IISAdmin = new System.DirectoryServices.DirectoryEntry("IIS://localhost/W3SVC/" + siteId + "/Root"); foreach (System.DirectoryServices.DirectoryEntry v in IISAdmin.Children) { if (v.Name == appPoolName) { try { IISAdmin.Invoke("Delete", new string[] { v.SchemaClassName, appPoolName }); IISAdmin.CommitChanges(); return true; } catch (Exception ex) { return false; } } } return false; }