2011-01-19 5 views
2

Я могу создать виртуальный каталог с помощью «mkiisdir», но он создается только по умолчанию.Создание виртуального каталога под определенным сайтом с помощью NANT

С использованием атрибута IISServer он отлично работает в моей тестовой среде, но не в программе «Производство».

Сценарий 1 (Test окр)

  1. IIS с 2 сайтов, 1, размещенных на 80 & другой на 88.
  2. Использование атрибута IIServer = 'локальный' & порт = '88' , это создает виртуальный каталог в правом сайте

Сценарий 2 (Изготовление окр)

  1. IIS с 2 веб-сайтами, 1 размещен на 80 & другой, а также на 80, но с другим hostheader.

Какое значение следует использовать для порта IISServer &, чтобы виртуальный каталог создавался под веб-сайтом с заголовком хоста.

ответ

0

Укажите iisserver параметра и определить ваш сайт будет имя хоста: сочетание портов

<mkiisdir iisserver="host:port" dirpath="c:\siteroot\test" vdirname="Test" /> 
+1

Это работает, когда у вас есть сайт в разных портах – Miral

-1

Вы можете указать веб-сайт в качестве параметра mkiisdir

<mkiisdir iisserver="host" website="${project.service.iiswebsite}" " dirpath="c:\siteroot\test" vdirname="Test"/> 

Должно работать нормально

2

Я знаю, что этот пост очень старый, но мы недавно столкнулись с той же проблемой. Если вы используете IIS 7 (или выше), тогда есть обход. Вы можете использовать AppCmd.exe, который поставляется с IIS 7 для выполнения множества различных действий, в вашем случае создавайте приложения на разных веб-сайтах.

Вы можете создать пример задачи Nant (макро):

<macrodef name="Install.App"> 
    <attributes> 
     <attribute name="websiteName" default="Default Web Site" /> 
     <attribute name="vdir" /> 
     <attribute name="physicalPath" /> 
     <attribute name="appPool" default="DefaultAppPool" /> 
    </attributes> 

    <sequential> 
     <exec program="c:\windows\System32\InetSrv\appcmd.exe" workingdir="${project::get-base-directory()}" verbose="true" failonerror="false" > 
     <arg value="ADD"/> 
     <arg value="APP" /> 
     <arg value="&quot;/site.name:${websiteName}&quot;"/> 
     <arg value="/path:${vdir}" /> 
     <arg value="/physicalPath:${physicalPath}" /> 
     <arg value="/apppool.name:${appPool}" /> 
     </exec> 

    </sequential> 
    </macrodef> 

Тогда вы можете просто назвать это что-то вроде этого:

<Install.App websiteName="SomeOtherWebsite" vdir="/MyApp" physicalPath="C:\apps\myapp" appPool="MyAppPool" /> 

Это создало бы приложение под названием "MyApp "внутри" SomeOtherWebsite "веб-сайт на этом сервере.

Это создает приложение, но вы также можете создать простой виртуальный каталог, просто изменив <arg value="APP" /> на <arg value="VDIR" />. Для получения дополнительной информации и опций вы можете read more here.

Я надеюсь, что это поможет некоторым другим людям, которые также застряли в одном положении!

Смежные вопросы