public class SetupUtility
{
int siteID;
DirectoryEntry site;
DirectoryEntry siteVDir;
public int CreateWebSite(string webSiteName, string pathToRoot, bool createDir)
{
DirectoryEntry root = new DirectoryEntry("IIS://192.168.1.99/W3SVC");
// Find unused ID value for new web siteint
siteID = 1;
foreach(DirectoryEntry e in root.Children)
{
if(e.SchemaClassName == "IIsWebServer")
{
int ID = Convert.ToInt32(e.Name);
if(ID >= siteID)
{
siteID = ID+1;
}
}
}上边都看明白了,上边是获取ID,在原来的基础上加1
// Create web siteDirectoryEntry 这是创建站长.还是创建程序池呀
site = (DirectoryEntry)root.Invoke("Create", "IIsWebServer", siteID);
site.Invoke("Put", "ServerComment", webSiteName);
site.Invoke("Put", "KeyType", "IIsWebServer");
site.Invoke("Put", "ServerBindings", ":80:www.163.com");
site.Invoke("Put", "ServerState", 2);
site.Invoke("Put", "FrontPageWeb", 1);
site.Invoke("Put", "DefaultDoc", "Default.aspx");
site.Invoke("Put", "SecureBindings", ":443:");
site.Invoke("Put", "ServerAutoStart", 1);
site.Invoke("Put", "ServerSize", 1);
site.Invoke("SetInfo");
// Create application virtual directoryDirectoryEntry 上边不上创建了吗.怎么又要创建了
siteVDir = site.Children.Add("Root", "IISWebVirtualDir");
siteVDir.Properties["AppIsolated"][0] = 2;
siteVDir.Properties["Path"][0] = pathToRoot;
siteVDir.Properties["AccessFlags"][0] = 513;
siteVDir.Properties["FrontPageWeb"][0] = 1;
siteVDir.Properties["AppRoot"][0] = "LM/W3SVC/"+siteID+"/Root";
siteVDir.Properties["AppFriendlyName"][0] = "Root";
siteVDir.CommitChanges();
site.CommitChanges();
return siteID;
}
}
还有不明白的就是 invoke 方法怎么用
里边的 "put" 及后边的参数
不晓得哪里有invoke方法里边的参数具体说明 msdn 上也没有具体说明.什么参数代表什么
{
int siteID;
DirectoryEntry site;
DirectoryEntry siteVDir;
public int CreateWebSite(string webSiteName, string pathToRoot, bool createDir)
{
DirectoryEntry root = new DirectoryEntry("IIS://192.168.1.99/W3SVC");
// Find unused ID value for new web siteint
siteID = 1;
foreach(DirectoryEntry e in root.Children)
{
if(e.SchemaClassName == "IIsWebServer")
{
int ID = Convert.ToInt32(e.Name);
if(ID >= siteID)
{
siteID = ID+1;
}
}
}上边都看明白了,上边是获取ID,在原来的基础上加1
// Create web siteDirectoryEntry 这是创建站长.还是创建程序池呀
site = (DirectoryEntry)root.Invoke("Create", "IIsWebServer", siteID);
site.Invoke("Put", "ServerComment", webSiteName);
site.Invoke("Put", "KeyType", "IIsWebServer");
site.Invoke("Put", "ServerBindings", ":80:www.163.com");
site.Invoke("Put", "ServerState", 2);
site.Invoke("Put", "FrontPageWeb", 1);
site.Invoke("Put", "DefaultDoc", "Default.aspx");
site.Invoke("Put", "SecureBindings", ":443:");
site.Invoke("Put", "ServerAutoStart", 1);
site.Invoke("Put", "ServerSize", 1);
site.Invoke("SetInfo");
// Create application virtual directoryDirectoryEntry 上边不上创建了吗.怎么又要创建了
siteVDir = site.Children.Add("Root", "IISWebVirtualDir");
siteVDir.Properties["AppIsolated"][0] = 2;
siteVDir.Properties["Path"][0] = pathToRoot;
siteVDir.Properties["AccessFlags"][0] = 513;
siteVDir.Properties["FrontPageWeb"][0] = 1;
siteVDir.Properties["AppRoot"][0] = "LM/W3SVC/"+siteID+"/Root";
siteVDir.Properties["AppFriendlyName"][0] = "Root";
siteVDir.CommitChanges();
site.CommitChanges();
return siteID;
}
}
还有不明白的就是 invoke 方法怎么用
里边的 "put" 及后边的参数
不晓得哪里有invoke方法里边的参数具体说明 msdn 上也没有具体说明.什么参数代表什么
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货