Лучший подход для развертывания сайта asp.net - PullRequest
0 голосов
/ 03 июня 2011

Просто интересно, каков наилучший вариант для развертывания веб-сайта ASP.Net. Сейчас я просто помещаю код в папку на сервере и создаю виртуальный каталог в IIS, ссылаясь на эту папку.Затем я открываю веб-сайт в VS2008 на сервере и создаю его. Хотя он работает нормально для меня, я не уверен, что я придерживаюсь оптимального подхода к развертыванию или нет.

Спасибо.

Ответы [ 5 ]

2 голосов
/ 03 июня 2011

Существует множество мнений по этому поводу в Интернете, и это все мнение.В какой-то степени это зависит от вас и вашей команды (если она у вас есть), если ваш подход работает на вас, то я не вижу особых причин для изменения, но я бы посоветовал вам, по крайней мере, иметь промежуточный сайт, на котором вы можетеразверните код для тестирования пользователей перед его развертыванием в рабочей среде.

Тем не менее, запуск VS на сервере невелик (и означает, что вам нужна другая лицензия VS, так что это может быть пустой тратой) и поскольку VS включает в себя публикациювариант в любом случае, это довольно избыточно.Я использую publish для небольших сайтов, и это прекрасно работает.

0 голосов
/ 03 июня 2011

При таком развертывании любой, кто получает доступ к веб-серверу (который может быть вне вашего контроля, если он размещен), может просматривать и, возможно, даже изменять ваши страницы .aspx.

Одна альтернатива, которую вы можете использовать из Visual Studio, - скомпилировать все в двоичный файл . Это можно сделать, выбрав в меню «Построение»> «Опубликовать»> снять флажок «Разрешить обновление этого скомпилированного сайта». Недостатком этого, конечно же, является то, что даже самое незначительное изменение в HTML страницы потребует перекомпиляции кода и его повторного развертывания.

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

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

Если вы развертываете свое веб-приложение на компьютере, которым вы управляете, например на веб-сервере в интрасети вашей компании или на выделенном веб-сервере у поставщика веб-хостинга, вы можете использовать элемент в machine.config для принудительной установки все приложения на веб-сервере должны следовать рекомендациям, приведенным выше (а именно, с использованием настраиваемой страницы ошибок, отключением трассировки вывода и отсутствием автоматически скомпилированного кода, скомпилированного в режиме отладки ). Просто добавьте следующую разметку в файл machine.config в элементе <system.web>:

<deployment retail="true" />

Опять же, это довольно простое изменение.

0 голосов
/ 03 июня 2011

У вас есть несколько опций, которые предпочтительнее, чем запуск Studio на сервере.

В зависимости от размера вашей команды, вы можете:

  • публиковать прямо с VS
  • непрерывная интеграция, проверьте Круиз-контроль для получения информации об этом
  • комбинация CI и синхронизации файлов (то есть CI для тестирования сервера, затем xcopy для производства)

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

0 голосов
/ 03 июня 2011

В проекте, над которым я работаю, мы изначально строили на машине разработчика, архивировали и копировали содержимое каталога bin.(разархивирование, создание сайта в IIS и т. д.) *

Позже, когда у нас было время, мы пошли на такой подход:

Создание установщиков Windows в VS2008 .

Это сработало очень хорошо, так как (буквально) любой способен выполнить развертывание.Настоящая прелесть этого в том, что вы можете объяснить, что это просто причудливый способ обернуть процесс копирования каталога 'bin' через ...

Пища для размышлений, я надеюсь.

Dave

0 голосов
/ 03 июня 2011

Публикация изнутри VS - довольно мощный инструмент, поскольку он позволяет вам выполнять замену web.config. Ознакомьтесь с докладом Hanselman Развертывание веб-страниц удивительно: если вы используете XCopy, вы делаете это неправильно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...