Прочитав версию статьи Yizui Jie Qianchou об изменении каталога IIS для Asp.Net, я подумал, что раньше думал о добавлении заголовка хоста в IIS через код, но никогда не изучал его. Сегодня я воспользовался своим интересом и решил. чтобы решить эту проблему.
Для веб-сайтов блогов, если вам необходимо обеспечить поддержку дополнительных доменных имен для пользователей, а веб-программа не запускается на сайте по умолчанию, вам необходимо добавить соответствующий заголовок хоста в IIS с помощью кода при регистрации пользователя.
Эта проблема была решена с помощью поиска Google для добавления заголовка хоста по коду в IIS. После тестирования было подтверждено, что этот метод возможен, и в код были внесены некоторые улучшения. Учитывая, что этот контент будет полезен некоторым друзьям, я написал. это статьи.
Код выглядит следующим образом:
static void Main(string[] args)
{
AddHostHeader(1, null, 80, "test.cnblogs.com");
}
static void AddHostHeader (int siteid, строка ip, int порт, строковый домен)
{
Сайт DirectoryEntry = новый DirectoryEntry("IIS://localhost/W3SVC/"+siteid);
PropertyValueCollection serverBindings = site.Properties["ServerBindings"];
строка headerStr = string.Format("{0}:{1}:{2}",ip,port,domain);
если (!serverBindings.Contains(headerStr))
{
serverBindings.Add(headerStr);
}
сайт.CommitChanges();
}
Прежде чем найти добавление заголовка хоста по коду в IIS, мне не удалось найти атрибут «ServerBindings» с помощью следующего кода, и я сделал несколько обходных путей.
Сайт DirectoryEntry = новый DirectoryEntry("IIS://localhost/W3SVC/1/root");
Код очень прост. Необходимо объяснить идентификатор сайта. Сайт по умолчанию — 1. Для сайтов, не являющихся стандартными, его можно узнать, посмотрев имя файла журнала сайта.
Источник: dudu-happy программист