]Code:using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.DirectoryServices; namespace IISMgrAddin { /// <summary> /// Summary description for IISManager. /// </summary> public class New_Web { public New_Web() { } public string CreateVDir(string WebSite, string VDirName, string Path, bool RootDir, bool chkRead, bool chkWrite, bool chkExecute, bool chkScript, bool chkAuth, int webSiteNum, string serverName) { string sRet = String.Empty; System.DirectoryServices.DirectoryEntry IISSchema; System.DirectoryServices.DirectoryEntry IISAdmin; System.DirectoryServices.DirectoryEntry VDir; bool IISUnderNT; // // Determine version of IIS // IISSchema = new System.DirectoryServices.DirectoryEntry("IIS://" + serverName + "/Schema/AppIsolated"); if (IISSchema.Properties["Syntax"].Value.ToString().ToUpper() == "BOOLEAN") IISUnderNT = true; else IISUnderNT = false; IISSchema.Dispose(); // // Get the admin object // IISAdmin = new System.DirectoryServices.DirectoryEntry("IIS://" + serverName + "/W3SVC/" + webSiteNum + "/Root"); // // If we're not creating a root directory // if (!RootDir) { // // If the virtual directory already exists then delete it // foreach (System.DirectoryServices.DirectoryEntry v in IISAdmin.Children) { if (v.Name == VDirName) { // Delete the specified virtual directory if it already exists try { IISAdmin.Invoke("Delete", new string[] { v.SchemaClassName, VDirName }); IISAdmin.CommitChanges(); } catch (Exception ex) { sRet += ex.Message; } } } } // // Create the virtual directory // if (!RootDir) { VDir = IISAdmin.Children.Add(VDirName, "IIsWebVirtualDir"); } else { VDir = IISAdmin; } // // Setup the VDir // VDir.Properties["AccessRead"][0]=chkRead; VDir.Properties["AccessExecute"][0] = chkExecute; VDir.Properties["AccessWrite"][0] = chkWrite; VDir.Properties["AccessScript"][0] = chkScript; VDir.Properties["AuthNTLM"][0] = chkAuth; VDir.Properties["EnableDefaultDoc"][0] = "true"; VDir.Properties["EnableDirBrowsing"][0] = false; VDir.Properties["DefaultDoc"][0] = true; VDir.Properties["Path"][0] = Path; VDir.Properties["DefaultDoc"] [0]= "index.aspx"; // // NT doesn't support this property // if (!IISUnderNT) { VDir.Properties["AspEnableParentPaths"][0] = true; } // // Set the changes // VDir.CommitChanges(); // // Make it a web application // if (IISUnderNT) { VDir.Invoke("AppCreate", false); } else { VDir.Invoke("AppCreate", 1); } sRet += "VRoot " + VDirName + " created!"; return sRet; } #region Properties public string ServerName { get { return _serverName; } set { _serverName = value; } } #endregion public static string VirDirSchemaName = "IIsWebVirtualDir"; #region Private Members private string _serverName; #endregion } }
This class is working fine for Virtual diretory under default root. I want to set the properties such as Port, Ipaddress and Host Header . how hould i do that.
Soemebody pls help me in this.
Thanks in Advance
Manu




