Как динамично исправить запуск приложение ASP.NET?

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

я не услышал, что шаблоны разработки GoF применимы к каждому языку. Я услышал, что они применимы ко всему языки ООП . При использовании Функционального программирования тогда домен проблем, которые Вы решаете, отличается от языков OO.

я не использовал бы функциональный язык для записи пользовательского интерфейса, но одного из языков OO как C#, или Java сделает это задание легче. Если бы я писал функциональный язык тогда, то я не рассмотрел бы использование Шаблонов разработки OO.

5
задан Marcus McConnell 17 July 2009 в 20:59
поделиться

5 ответов

Если только вы не просматриваете файлы на определенные файлы, вы можете обновить существующие файлы aspx без замедления работы приложения. В следующий раз, когда пользователь обновит браузер, он увидит обновление страницы. Однако будьте осторожны, если вы добавили на страницу дополнительные серверные элементы управления, а DLL еще не обновлена, вы столкнетесь с проблемами.

Если вы обновите файлы web.config или DLL для приложения, это вызовет перезагрузку рабочего процесса ASPNET, и любые новые пользователи испытают «первую задержку», которую вы обычно можете ожидать.

Если вы беспокоитесь об этом процессе и можете позволить себе небольшой «простой», я Я предлагаю вам создать сценарий, который выполняет следующие действия:

  1. Загрузите файл с именем App_Offline.htm в корень веб-приложения. IIS сразу увидит этот файл и перенаправит к нему пользователей, не выполняя никакой обработки .NET. Вы даже можете сохранить файл с именем App_Offline_Disabled.htm в корневой папке и просто переименовать его, когда придет время.

  2. Скопируйте все ваши файлы, которые необходимо обновить, перезаписывая / переименовывая / копируя по мере необходимости.

  3. Удалить (или переименуйте) файл App_Offline.htm, чтобы IIS начал направлять пользователей к обновленному приложению. Если вы наблюдаете за запуском скрипта, вы даже можете сами зайти на сайт, чтобы получить штраф за «первую загрузку», чтобы ваши конечные пользователи увидели все красиво и четко, как всегда.

Опять же, я не знаю, вы таким образом может позволить себе простои на сайте,

3
ответ дан 14 December 2019 в 13:43
поделиться

Что вы имеете в виду под исправлением?

Если вы имеете в виду обновление, вы можете просто скопировать файлы обновлений в каталог приложения. В настоящее время активные запросы будут полностью обслуживаться с использованием последней скомпилированной версии вашего приложения, а затем оно будет перекомпилировано для обслуживания последующих запросов. На самом деле ничего особенного не требуется.

3
ответ дан 14 December 2019 в 13:43
поделиться

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

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

0
ответ дан 14 December 2019 в 13:43
поделиться

Я бы просто проверил информацию о версии при возникновении события filewatcher. Если версия сборки отличается от активной сборки, которую вы планируете исправить, вы продолжаете копирование. Если нет, просто проигнорируйте событие. Также может возникнуть вопрос, зачем вам копировать во временный каталог, из которого извлекаются файлы, если фактического изменения версии нет?

0
ответ дан 14 December 2019 в 13:43
поделиться

На случай, если кто-то еще не сможет воспользоваться уловкой app_offline.htm, я нашел эту статью, в которой объясняется, как отключить мониторинг файлов для подпапок

http://www.dominicpettifer.co.uk / Blog / 36 / stop-iis-appdomain-restarts-when-a-folder-is-deleted

0
ответ дан 14 December 2019 в 13:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: