public int CreateWebSite(string webSiteName, string pathToRoot) {return CreateWebSite(webSiteName, pathToRoot, false);}
public int CreateWebSite(string webSiteName, string pathToRoot, bool createDir) { DirectoryEntry root = new DirectoryEntry("IIS://localhost/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;} } }
public class SetupUtility{
public SetupUtility()
{}
public int CreateWebSite(string webSiteName, string pathToRoot)
{return CreateWebSite(webSiteName, pathToRoot, false);}
public int CreateWebSite(string webSiteName, string pathToRoot, bool createDir)
{
DirectoryEntry root = new DirectoryEntry("IIS://localhost/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;}
}
}
// Create web site
DirectoryEntry site = (DirectoryEntry)root.Invoke("Create", "IIsWebServer", siteID);
site.Invoke("Put", "ServerComment", webSiteName);
site.Invoke("Put", "KeyType", "IIsWebServer");
site.Invoke("Put", "ServerBindings", ":80:");
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 directory
DirectoryEntry 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;
}
}
这个属性,用代码怎么设置??读取,可写,都能设置,就这个没找到
DirectoryEntry folderRootA = GetIISWebserver(serverComment);
//返回根虚拟目录
DirectoryEntry folderRoot = new DirectoryEntry(folderRootA.Path + "/Root"); folderRoot.Properties["AccessRead"][0] = true;//允许读的权限
folderRoot.Properties["AccessWrite"][0] = true;//允许写的权限
folderRoot.Properties["AccessScript"][0] = true;//脚本可执行
folderRoot.Properties["AccessSource"][0] = true;//不允许读取源程序
folderRoot.Properties["AccessExecute"][0] = false;//允许执行的权限
folderRoot.Properties["AuthAnonymous"][0] = true;//允许匿名访问
folderRoot.Properties["AuthNTLM"][0] = true;//允许windows集成验证
folderRoot.Properties["ContentIndexed"][0] = true;//索引此资源
folderRoot.Properties["DefaultDoc"][0] = "login.aspx";//默认文档
folderRoot.Properties["EnableDefaultDoc"][0] = true;//设置默认文档
folderRoot.Properties["AspEnableParentPaths"][0] = true;//允许父路径
folderRoot.Properties["AppIsolated"][0] = 2;//应用程序保护
folderRoot.Properties["AppFriendlyName"][0] = serverComment;
//folderRoot.Invoke("AppCreate", true);//允许创建应用程序
folderRoot.CommitChanges();