2009-04-23 4 views
6

Ich habe eine einzelne Site mit vielen Namen. Ich möchte in der Lage sein, einen neuen Hostheaderdatensatz programmatisch zu IIS hinzuzufügen, damit es einen anderen Namen erkennt. Was ist der Code (vorzugsweise in C#), um einen neuen Host-Header zu einer bestimmten Site hinzuzufügen?Code zum Hinzufügen eines Hostheaders zu einer IIS-Website

+0

mit dem Code unten Ihre Frage nicht beantworten? – andleer

Antwort

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

Verwenden Impersonate oder verwenden Sie Windows Identity Object