Wenn Sie IIS 7 verwenden, gibt es eine neue verwaltete API Microsoft.Web.Administration
Ein Beispiel aus dem oben genannten Blog-Post:
ServerManager iisManager = new ServerManager();
iisManager.Sites.Add("NewSite", "http", "*:8080:", "d:\\MySite");
iisManager.CommitChanges();
Wenn Sie IIS 6 verwenden und dies tun möchten, ist es leider komplexer.
Sie müssen einen Webdienst auf jedem Server erstellen, einen Webdienst, der die Erstellung einer Website übernimmt, weil der direkte Identitätswechsel des Benutzers über das Netzwerk nicht ordnungsgemäß funktioniert (wenn ich mich richtig erinnere).
Sie Interop Services verwenden und so etwas wie dies tun (Dieses Beispiel zwei Objekte verwendet, Server und Standort, die Instanzen von benutzerdefinierten Klassen sind, die ein Server speichern und Konfiguration der Website):
string metabasePath = "IIS://" + server.ComputerName + "/W3SVC";
DirectoryEntry w3svc = new DirectoryEntry(metabasePath, server.Username, server.Password);
string serverBindings = ":80:" + site.HostName;
string homeDirectory = server.WWWRootPath + "\\" + site.FolderName;
object[] newSite = new object[] { site.Name, new object[] { serverBindings }, homeDirectory };
object websiteId = (object)w3svc.Invoke("CreateNewSite", newSite);
// Returns the Website ID from the Metabase
int id = (int)websiteId;
sehen Sie mehr here
Was IIS-Version verwenden Sie? – kitsune
Wir verwenden IIS 6 –
Sie möchten den Port während der Installation angeben oder Sie möchten die Website zu IIS per Code hinzufügen? –