2009-04-23 88 views
6

我有一個包含許多名稱的單個網站。我希望能夠以編程方式向IIS添加新的主機頭記錄以允許其識別其他名稱。具體來說,什麼是代碼(最好在C#中)添加一個新的主機頭到給定的網站?將主機標頭添加到IIS網站的代碼

+0

請問下面的代碼不會回答你的問題? – andleer 2009-04-27 17:59:50

回答

5
static void Main(string[] args) 
{ 
    AddHostHeader(1, "127.0.0.1", 8080, "fred"); 
    AddHostHeader(1, null, 8081, null); 
} 

static void AddHostHeader(int? websiteID, string ipAddress, int? port, string hostname) 
{ 
    using (var directoryEntry = new DirectoryEntry("IIS://localhost/w3svc/" + websiteID.ToString())) 
    { 
     var bindings = directoryEntry.Properties["ServerBindings"]; 
     var header = string.Format("{0}:{1}:{2}", ipAddress, port, hostname); 

     if (bindings.Contains(header)) 
      throw new InvalidOperationException("Host Header already exists!"); 

     bindings.Add(header); 
     directoryEntry.CommitChanges(); 
    } 
} 
0

使用假冒或使用Windows身份對象