2009-11-20 2 views
2

Я видел несколько других сообщений, похожих на это (а именно https://stackoverflow.com/questions/5237/solutions-for-working-with-multiple-branches-in-asp-net), но есть несколько проблем, которые у меня есть, по-видимому, отличные от других подобных сообщений.Работа с несколькими ветвями в ASP.NET.

У меня есть приложение ASP.NET, которое использует виртуальный каталог с localhost. В коде есть несколько точек, где мне нужно ссылаться на имя виртуального каталога, чтобы виртуальный каталог был на месте и правильно назван, чтобы он работал. Я также использую свой файл httpd.conf для форматирования своих URL-адресов, чтобы избежать беспорядочных запросов.

Это, как говорится, я только что опубликовал свое приложение и теперь должен создать разветвленную среду для исправлений ошибок всякий раз, когда есть ошибка в реальном коде, и я не хочу загружать код dev.

Проблема в том, что мне нужно иметь возможность легко запускать разветвленный код, параллельный моему dev-коду, без необходимости выполнять кучу работы с IIS и конфигурационными файлами каждый раз, когда я хочу загрузить свой разветвленный код. Недостатки в том, что параллельная среда должна иметь виртуальный каталог на месте и работать с тем же httpd.conf (для форматирования URL).

Я не думаю, что Кассини будет работать, потому что мне нужен SSL и, конечно ... httpd.conf и виртуальные каталоги должны быть все еще на месте.

Идеальное решение в моем сознании - запустить параллельный веб-сайт на localhost с тем же httpd.conf и тем же виртуальным каталогом ... но я запускаю XP Pro, и они не «делают» несколько веб-сайтов ,

+0

@Joseph: Отличная идея! Выполняется ли эта команда в файле web.config? Знаете ли вы, как убедиться, что он выполняется только в режиме отладки? – Adam

+0

@danswain: Вы упомянули выполнение этой команды в событии после сборки. Знаете ли вы о хорошем ресурсе для команд построения событий? – Adam

+0

Оба ответа были очень полезными. Я думаю, что я попытаюсь выяснить, как изменить путь к виртуальному каталогу iis через событие post-build, поскольку я могу проверить, находится ли он в режиме отладки, когда я нахожусь в событии после сборки. – Adam

ответ

1

Создайте виртуальный каталог при создании сборки каждый раз, когда выполняется сборка.

Я использовал NantContrib's mkiisdir task для этого.

При таком подходе вы не можете одновременно запускать несколько ветвей, но вы можете быстро переключаться между ветвями, создавая ветвь, которую вы хотите запустить.

1

Я бы сделал то же, что и выше, но вы можете подключить его к событию post post build, но это не будет скорее более быстрым переключением. Я думаю, что там есть реестра, чтобы получить несколько сайтов в iis или если память служит, если вы создаете дополнительный сайт через скрипт, который он работает, это просто графический интерфейс, который заблокирован. Или лучшим решением будет обновление до сервера Windows и создание разных ветвей для разных портов.

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