上次问过这个问题,一直没有得到解决,我先结贴了.
http://community.csdn.net/Expert/TopicView.asp?id=3661789今天再次向各高手请教 "如何在用C#添加站点的同时为此站点添加"主机头",
秉承我的一惯原则,不管问题能否解决,参与有分.以下是我为IIS添加站点的源代码
public void CreateSite(string port,string siteName,string siteExplain,string defaultDoc)
{
DirectoryEntry de = new DirectoryEntry("IIS://localhost/"+"w3svc"); //从活动目录中获取IIS对象。
object[] prams = new object[2]{"IIsWebServer",Convert.ToInt32(siteName)}; 
DirectoryEntry site = (DirectoryEntry)de.Invoke("Create",prams); //创建IISWebServer对象。
site.Properties["KeyType"][0] = "IIsWebServer"; 
site.Properties["ServerComment"][0] =siteExplain; //站点说明
site.Properties["ServerState"][0] = 2; //站点初始状态,1.停止,2.启动,3
site.Properties["ServerSize"][0] = 1; 
site.Properties["ServerBindings"].Add(":"+port+":"); //站点端口
site.CommitChanges(); //保存改变
de.CommitChanges(); 
DirectoryEntry root = site.Children.Add("Root","IIsWebVirtualDir"); //添加虚拟目录对象
root.Invoke("AppCreate",true); //创建IIS应用程序
root.Properties["path"][0] = @"D:\IISmanage"; //虚拟目录指向的物理目录
root.Properties["EnableDirBrowsing"][0] = false;//目录浏览
root.Properties["AuthAnonymous"][0] = false;
root.Properties["AccessExecute"][0] = false; //可执行权限
root.Properties["AccessRead"][0] = true; 
root.Properties["AccessWrite"][0] = true; 
root.Properties["AccessScript"][0] = true;//纯脚本
root.Properties["AccessSource"][0] = false; 
root.Properties["FrontPageWeb"][0] = false; 
root.Properties["KeyType"][0] = "IIsWebVirtualDir";
root.Properties["AppFriendlyName"][0] =siteExplain; //应用程序名 
root.Properties["AppIsolated"][0] = 2;
root.Properties["DefaultDoc"][0]=defaultDoc; //默认文档
root.Properties["EnableDefaultDoc"][0]=true; //是否启用默认文档
root.CommitChanges(); 
site.CommitChanges(); 
root.Close(); 
site.Close(); 
de.CommitChanges(); //保存
site.Invoke("Start",null); //除了在创建过程中置初始状态外,也可在此调用方法改变状态
}