C#操作IIS方法集合

2019-12-26 13:27:16王冬梅
  • DirectoryEntry root = new DirectoryEntry("IIS://" + HostName + "/W3SVC");  // 为新WEB站点查找一个未使用的ID 
  • int siteID = 1;  foreach (DirectoryEntry e in root.Children) 
  • {  if (e.SchemaClassName == "IIsWebServer") 
  • {  int ID = Convert.ToInt32(e.Name); 
  • if (ID >= siteID) { siteID = ID + 1; }  } 
  • }  // 创建WEB站点 
  • DirectoryEntry site = (DirectoryEntry)root.Invoke("Create", "IIsWebServer", siteID);  site.Invoke("Put", "ServerComment", webSiteName); 
  • site.Invoke("Put", "KeyType", "IIsWebServer");  site.Invoke("Put", "ServerBindings", domainPort + ":"); 
  • site.Invoke("Put", "ServerState", 2);  site.Invoke("Put", "FrontPageWeb", 1); 
  • site.Invoke("Put", "DefaultDoc", "Default.html");  // site.Invoke("Put", "SecureBindings", ":443:"); 
  • site.Invoke("Put", "ServerAutoStart", 1);  site.Invoke("Put", "ServerSize", 1); 
  • site.Invoke("SetInfo");  // 创建应用程序虚拟目录 
  •   DirectoryEntry siteVDir = site.Children.Add("Root", "IISWebVirtualDir"); 
  • siteVDir.Properties["AppIsolated"][0] = 2;  siteVDir.Properties["Path"][0] = physicalPath; 
  • siteVDir.Properties["AccessFlags"][0] = 513;  siteVDir.Properties["FrontPageWeb"][0] = 1; 
  • siteVDir.Properties["AppRoot"][0] = "LM/W3SVC/" + siteID + "/Root";  siteVDir.Properties["AppFriendlyName"][0] = "Root"; 
  •   if (isCreateAppPool) 
  • {  DirectoryEntry apppools = new DirectoryEntry("IIS://" + HostName + "/W3SVC/AppPools"); 
  •   DirectoryEntry newpool = apppools.Children.Add(webSiteName, "IIsApplicationPool");