Вот форум на Добавление другой идентификационной информации на сайт программным путем RSS
Кроме того, вот статья о том, как добавить заголовок узла по коду в IIS :
В следующем примере заголовок узла добавляется на веб-сайт в IIS. Это включает в себя изменение свойства ServerBindings. Не существует метода Append, который можно использовать для добавления новой привязки сервера к этому свойству, поэтому необходимо прочитать все свойство, а затем снова добавить его вместе с новыми данными. Это то, что сделано в коде ниже. Тип данных свойства ServerBindings - MULTISZ, а формат строки - IP: Порт: Имя хоста.
Обратите внимание, что этот пример кода не выполняет никакой проверки ошибок. Важно, чтобы каждая запись ServerBindings была уникальной, и вы - программист - несете ответственность за проверку этого (что означает, что вам нужно пройтись по всем записям и проверить, является ли то, что должно быть добавлено, уникальным).
using System.DirectoryServices;
using System;
public class IISAdmin
{
/// <summary>
/// Adds a host header value to a specified website. WARNING: NO ERROR CHECKING IS PERFORMED IN THIS EXAMPLE.
/// YOU ARE RESPONSIBLE FOR THAT EVERY ENTRY IS UNIQUE
/// </summary>
/// <param name="hostHeader">The host header. Must be in the form IP:Port:Hostname </param>
/// <param name="websiteID">The ID of the website the host header should be added to </param>
public static void AddHostHeader(string hostHeader, string websiteID)
{
DirectoryEntry site = new DirectoryEntry("IIS://localhost/w3svc/" + websiteID );
try
{
//Get everything currently in the serverbindings propery.
PropertyValueCollection serverBindings = site.Properties["ServerBindings"];
//Add the new binding
serverBindings.Add(hostHeader);
//Create an object array and copy the content to this array
Object [] newList = new Object[serverBindings.Count];
serverBindings.CopyTo(newList, 0);
//Write to metabase
site.Properties["ServerBindings"].Value = newList;
//Commit the changes
site.CommitChanges();
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
}
public class TestApp
{
public static void Main(string[] args)
{
IISAdmin.AddHostHeader(":80:test.com", "1");
}
}
Но я не уверен, как перебрать значения заголовков, чтобы выполнить упомянутую проверку ошибок.