I have a single site that has many names. I want to be able to programatically add a new host header record to IIS to allow it to recognize another name. Specifically, what is the code (preferably in C#) to add a new host header to a given site?
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();
}
}
使用Impersonate或使用Windows标识对象
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.