Автообновление веб-приложения - PullRequest
3 голосов
/ 18 января 2010

У меня есть небольшое веб-приложение (Mvc), которое мне нужно периодически обновлять (без ftp или другого доступа).

Мне бы хотелось, чтобы со страницы «Супер Ультра Мега Администратор» прямо в приложении я мог ускорить процесс обновления.

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

То, что я думаю сейчас, - это иметь службу Windows с правильными учетными данными разрешения на запись, которые можно вызывать с защищенной веб-страницы по адресу:

  • остановка службы iis (не обязательно)
  • загрузка через защищенный URL-адрес последней версии приложения (zip-файл)
  • резервное копирование архивированного старого веб-приложения на сервер в каталог (c: \ backups \ v1_01102010.zip)
  • распакуйте загруженный zip-файл в директорию веб-приложения
  • перезагрузите iis
  • (в конечном итоге сможет вернуться к процессу)

Что-то подобное уже существует?

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

Мне не нужно писать или изменять реестр, а просто автоматизировать извлечение zip без участия пользователя.

1 Ответ

1 голос
/ 18 января 2010

Что ж, если вы собираетесь написать веб-сервис, то заставить его обрабатывать архивирование и разархивирование файлов не должно быть слишком сложно. Есть библиотеки zip, которые вы можете использовать в c # (http://www.icsharpcode.net/OpenSource/SharpZipLib/). Остановка и запуск IIS могут быть выполнены с помощью класса ServiceController (http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicecontroller.aspx)

...