Есть ли простой способ для развертывания/публикации веб-сайта, написанного на asp.net? И в чем разница между развертыванием и публикацией?
Как развертывать/публиковать веб-сайт ASP.NET?
Ответ 1
Вот сайт, который показывает различные методы, как выполнить эту задачу. Существует много методов, которые можно использовать в качестве стратегии развертывания для вашего веб-приложения.:
Ответ 2
КомпонентAlt + B + H (открывает окно публикации для веб-сайта/приложения ASP.NET) - самый простой способ развертывания приложения в требуемом месте.
Публикация, используемая для компиляции и развертывания приложения на сервере.
Ответ 3
Ну, это зависит от того, что вы пытаетесь выполнить с точки зрения времени простоя/доступности. Параметры публикации /xcopy/installer интересны, но все пренебрегают проблемой, требующей времени для завершения этих опций. С момента скопирования первого файла в каталог до момента, когда последний файл скопирован на сайте, находится в несогласованном состоянии.
Файлы ASPX могут ссылаться на объекты уровня данных, которые еще не находятся в каталоге bin, или каталог bin может иметь DLL с измененным набором параметров для функции, но aspx не был установлен Тем не менее, aspx все еще ищет старую функцию. Короче говоря, поскольку развертывание не является атомным процессом, у вас могут возникнуть проблемы.
Мы рассмотрели эту проблему, установив новые файлы в новый каталог, а затем перейдем в IIS и изменим веб-сайт, чтобы указать на новый каталог. Это приводит к изменению атомного процесса и делает вещи более плавными. Это прекрасно? Неа. У вас могут возникнуть проблемы со просмотром или проблемами сеанса (сеанс сохранен, но, возможно, новый код ищет что-то в сеансе, который не был установлен старым кодом), но он все еще делает процесс более плавным.
Конечно, ни одно из этих решений не касается другой неатомной части обновления веб-сайта... базы данных. Опять же, процесс изменения схемы БД требует времени. Вы сначала обновляете код или базу данных? Может ли изменение базы данных работать без изменения кода (новый столбец, который поддерживает null или имеет значение по умолчанию), или может ли смена кода работать с изменением БД (удаление столбца)? Это анализ в каждом конкретном случае и не рассматривается ни одним из этих решений.
Конечно, если вы можете удалять своих пользователей с сайта в течение определенного периода времени, тогда жизнь проще, но если вы пытаетесь достичь 100-процентного времени безотказной работы, то это не так просто.
Ответ 4
Иногда нецелесообразно настраивать веб-публикацию на желаемую цель. Если это случай, вы все равно сможете публиковать на своем локальном компьютере (как описано ниже), а затем XCOPY развертывать в вашу цель.
- В IIS щелкните правой кнопкой мыши сайты и нажмите "Добавить сайт"
- Настройте новый веб-сайт, как показано, и нажмите OK.
- В Visual Studio (с правами администратора) щелкните правой кнопкой мыши ваш веб-проект ASP.NET, выберите "Опубликовать..."
- Нажмите заголовок профиля и в раскрывающемся списке выберите Новый пользовательский профиль...
- Введите имя профиля, например "localhost44321", настройте профиль, как показано, и нажмите "Опубликовать"