добавить заголовок узла на веб-сайт на IIS 7 программным способом - PullRequest
2 голосов
/ 11 февраля 2012

Я хочу добавить заголовок узла на веб-сайт, который работает на IIS7 через веб-приложение (asp.net 4.0 / C #). В Интернете есть несколько примеров, но я думаю, что большинство из них не работают на iis7. (примечание: веб-приложение размещается на том же сервере, поэтому я думаю, что при изменении конфигурации iis проблем с безопасностью не будет)

Любая помощь приветствуется, спасибо

Ответы [ 2 ]

2 голосов
/ 24 апреля 2012

Я нашел это решение, и оно работает для меня. Это небольшая функция с парой параметров, просто вы должны найти идентификатор вашего веб-сайта в вашей конфигурации iss. После этого вы должны указать IP-адрес сервера (iis).), а также номер порта и имя хоста для функции, и он добавит заголовок хоста, используя введенные вами параметры. Например

AddHostHeader (2, "127.0.0.1:81", 81, "newsHostHeader ");

  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();
        }
    }

(примечание: не забудьте добавить на страницу, используя System.DirectoryServices; используя Microsoft.Web.Administration;)

0 голосов
/ 09 марта 2013

Вышеупомянутое решение не совсем работает с IIS7.5 для меня. В конце концов я должен был сделать это http://www.iis.net/configreference/system.applicationhost/sites/site/bindings/binding

...