Где находится ключ метабазы для моего веб-сайта IIS7?
-
17-09-2020 - |
Вопрос
Я пытаюсь настроить автоматическую (ночную) установку проекта настройки моего веб-сайта.Я могу указать некоторые значения времени установки в командной строке;в частности, добавив TARGETSITE
Значение определяет веб-сайт, на который будет отправлено мое новое развертывание.
Как мне найти ключ метабазы моего веб-сайта (например.«/LM/W3SVC/213548468») в установке IIS7?(У меня настроена совместимость с IIS6, но я не могу найти ничего о своем сайте в метабаза.xml файл.)
Кроме того, поскольку проекты установки веб-развертывания явно являются устаревшими механизмами (думаю, они были слишком просты в использовании?), есть ли у кого-нибудь лучшая идея для моих ночных автоматических развертываний?
Решение
В IIS 7 и более поздних версиях мы больше не используем метабазу и вместо этого перешли к модели «.config», где мы храним все настройки внутри «%windir%\system32\inetsrv\config\applicationHost.config», именно там вы и будете найти всю информацию и настройки, которые вы применяете.Если вы включите совместимость с IIS 6, мы будем запускать все команды, переводя их непосредственно в новый файл ApplicationHost.config.
Было бы полезно узнать больше о том, как вы это делаете сегодня. Если вы используете управляемый код, вероятно, лучшим решением будет использование Microsoft.Web.Administration (http://blogs.msdn.com/b/carlosag/archive/2006/04/17/microsoftwebadministration.aspx), который включает класс ServerManager, позволяющий вам настроить все, что вам нужно.
Если вы используете сценарии (vbscript/jscript), вы можете продолжать использовать свои сценарии или вместо этого использовать AHADMIN, который является нашим новым базовым API-интерфейсом конфигурации COM.
если вы используете PowerShell, у нас также есть поставщик PowerShell (http://www.iis.net/download/PowerShell) укажите, что должно быть лучшим в этом случае.
Кроме того, если вы действительно хотите упаковать содержимое, конфигурацию и другие вещи, такие как настройки реестра, объекты COM, библиотеки GAC и т. д., вам следует использовать веб-развертывание (http://www.iis.net/download/WebDeploy)
Другие советы
Я ничего не знаю о метабазе, но из ваших постов мне удалось собрать следующее:
import-module WebAdministration
$site = get-website | Where-object {$_.Name -eq "SiteName"}
$id=$site.ID
setup.msi /passive TARGETAPPPOOL=`"ASP.NET v4.0`" TARGETSITE="/LM/W3SVC/"$id
Обратные кавычки — это escape-символы для powershell.