IIS7 Добавить новый веб-сайт / заголовок узла веб-формы ASP.NET
Как я могу создать новый веб-сайт или добавить заголовок узла к существующему серверу IIS 7 из кода?
Я посмотрел и не смог найти рабочий пример?
2 ответа
Какую версию.Net вы используете?
Если вы используете.Net 3.0 или 3.5 и вам нужно только настроить IIS7 (не 6 или 5), проверьте пространство имен Microsoft.Web.Administration - в нем должно быть все необходимое.
Если вы используете более старую версию.net, взгляните на WMI.
У меня нет кода WMI для IIS 7 (у нас есть настройка для приложения интрасети, но в нем используется IIS 6-совместимый WMI). Но вот ссылка на инструмент, который вы можете использовать для выяснения материала WMI: http://www.microsoft.com/downloads/details.aspx?familyid=2cc30a64-ea15-4661-8da4-55bbc145c30e&displaylang=en Это будет на самом деле генерировать код C# (или vb.net) для манипулирования WMI. Для IIS 7 я считаю, что корневое пространство имен WMI - это root\WebAdministration.
Кроме того, взгляните на эту ссылку, она может помочь в ознакомлении с поставщиком WMI IIS 7.0 с помощью CIM Studio
Одним из решений будет создание настраиваемого модуля HttpModule, который сделает всю работу за вас, однако для этого требуется, чтобы у вас был DNS, поддерживающий подстановочные знаки (*). Если ваш DNS не поддерживает это, вы можете заняться управлением собственным DNS.
Тем не менее, вот хороший пост о создании модуля HttpModule, который анализирует передаваемый "поддомен" и перенаправляет трафик в соответствующее место. Он использует механизм поиска [для поиска контента с ключевыми словами, совпадающими с поддоменом], но он может быть изменен для ваших собственных нужд.
http://codebetter.com/blogs/brendan.tompkins/archive/2006/06/27/146875.aspx
[РЕДАКТИРОВАТЬ] Другим решением было бы найти поставщика DNS, который предлагает программируемую службу DNS, возможно, через веб-службу. Затем вы должны программно добавить субдомен к этому DNS, когда это необходимо из вашего приложения. Это супер упрощенное объяснение, которое не учитывает потребности вашего бизнеса. Лично я предпочитаю параметр HttpModule для добавления поддоменов в приложении, так как он требует меньше модификаций задействованных серверов.