Nếu bạn đang sử dụng IIS 7, có một API quản lý mới có tên gọi Microsoft.Web.Administration
Một ví dụ từ các bài đăng blog trên:
ServerManager iisManager = new ServerManager();
iisManager.Sites.Add("NewSite", "http", "*:8080:", "d:\\MySite");
iisManager.CommitChanges();
Nếu bạn đang sử dụng IIS 6 và muốn làm điều này, thật không may là phức tạp hơn.
Bạn sẽ phải tạo dịch vụ web trên mọi máy chủ, dịch vụ web xử lý việc tạo trang web vì mạo danh người dùng trực tiếp qua mạng sẽ không hoạt động chính xác (Nếu tôi nhớ chính xác).
Bạn sẽ phải sử dụng dịch vụ Interop và làm điều gì đó tương tự như sau (Ví dụ này sử dụng hai đối tượng, máy chủ và trang web, đó là trường hợp của các lớp tùy chỉnh mà lưu trữ của máy chủ và cấu hình trang web của):
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;
Xem thêm here
gì IIS phiên bản bạn đang sử dụng? – kitsune
Chúng tôi đang sử dụng IIS 6 –
bạn muốn chỉ định cổng trong khi thiết lập hoặc bạn muốn thêm trang web vào IIS theo mã? –