110,570
社区成员
发帖
与我相关
我的任务
分享
ServerManager serverManager = new ServerManager();
#region 添加网站
Site mySite = serverManager.Sites.Add("WGHrmsSite", @"C:/Websites/WGHrms/", 8090);
mySite.ServerAutoStart = true;
mySite.Applications[0].ApplicationPoolName = "ASP.NET v4.0";
serverManager.CommitChanges();
#endregion
CreateWebSite("TestWeb", "c:/Websites/WGHrms/", "*:8090", "ASP.NET v4.0");
public static int CreateWebSite(string webSiteName, string physicalPath, string domainPort, string AppPoolName)
{
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", "ServerBindings", domainPort + ":");
//site.Invoke("Put", "ServerComment", webSiteName);
//site.Invoke("Put", "KeyType", "IIsWebServer");
//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";
siteVDir.Properties["AppPoolId"][0] = AppPoolName;
siteVDir.Properties["AccessRead"][0] = true;//读取访问的权限
siteVDir.Properties["AccessScript"][0] = true;//脚本访问权限 PS:可根据需要开放权限
siteVDir.CommitChanges();
site.CommitChanges();
return siteID;
}