2012-02-11 8 views
2

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

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

+0

этот вопрос может помочь вам http://stackoverflow.com/questions/5121383/iis-7-0-vs-7-5-site-microsoft-web-administration-site -bindingcollection –

+0

Думаю, вы недостаточно ясны. Можете ли вы предоставить более подробную информацию? Вы хотите добавить/изменить привязку? – Tomek

ответ

2

Я нашел это решение, и это работает для меня . Это небольшая функция с параметрами пары, просто вам нужно найти идентификатор вашего веб-сайта в вашей конфигурации. После этого вы должны указать 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

взлетает в System.DirectoryServices.DirectoryEntry.Bind на Windows 8 IIS 7.5 Ошибка System.Runtime.InteropServices.COME –

+0

Возможно, вам нужно проверить некоторые параметры учетных данных, похоже, что пользователю IUSR запрещено добавлять заголовок на сайт в вашем IIS. – slayer35

+0

ошибка .. я, возможно, использовал это, чтобы сделать это http://www.iis.net/configreference/system.applicationhost/sites/site/bindings/binding –