что нужно обязательно проверить при развертывании веб-приложения MVC 2? - PullRequest
6 голосов
/ 01 октября 2010

Я собираюсь развернуть свое первое веб-приложение MVC в интернете.

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

У меня общий вопрос, и это сделано для того, чтобы собрать самые разные ответы.

Спасибо!

ОБНОВЛЕНИЕ :

Спасибо всем за ваши ответы.Вопрос касается не только области «развертывания», но и еще больше:

  • Безопасность
  • Публичный хостинг
  • Управление приложениями и операции

Короче говоря, все проблемы, которые необходимо решить с момента первоначального развертывания.

Ответы [ 4 ]

7 голосов
/ 01 октября 2010

Если вы собираетесь развернуть в течение часа:

  1. Убедитесь, что ссылка на System.Web.Mvc помечена как Копировать локально = True в вашем проекте. По умолчанию он имеет значение False и не будет скопирован в папку bin, что приведет к сбою приложения при развертывании. Просмотрите все дополнительные сборки, которые вы, возможно, добавили в проект, для параметра Копировать локально = True.

  2. Убедитесь, что трассировки стека не отображаются конечным пользователям, когда в вашем коде возникает исключение. Используйте <customErrors> в web.config, чтобы указать свои собственные страницы ошибок.

  3. В вашем файле web.config убедитесь, что строки подключения будут работать на сервере, на котором вы будете развертывать.

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

  5. Развертывание в локальной папке и проверка работоспособности этого опубликованного приложения. Загружаются ли скрипты, таблицы стилей и изображения без сбоев?

Если у вас есть немного больше времени на руках:

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

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

  3. Если вы этого еще не сделали, обязательно настройте учетную запись Google Analytics. Вам будет интересно узнать, как используется ваш сайт, и это один из лучших доступных бесплатных инструментов. Аналитика Goog, а также регистрация в поисковых системах потребуют от вас размещения файлов с необычными именами в корневой «папке» вашего доменного имени. Убедитесь, что ваше приложение может обслуживать файлы из корневой папки, или настройте контроллер + маршрутизацию для обработки этих запросов.

2 голосов
/ 01 октября 2010

Нет. 0: убедитесь, что patch для уязвимости oracle padding применяется, конечно, это относится не только к asp.net MVC, но и к любому приложению asp.net.

1 голос
/ 01 октября 2010

Если вы развертываете свой сайт MVC на своем собственном сервере с IIS 5.1 или 6:

  1. Обязательно добавьте сопоставление для расширения. * С исполняемым путем к aspnet_isapi.dll и глаголам GET,HEAD,POST,DEBUG в IIS 7 не требуется.
  2. Если вы добавляете свое приложение MVC на корневом веб-сайте, сделайте 1 на корневом веб-сайте, например, Default Web Site если в виртуальном каталоге сделать 1 в виртуальном каталоге.
  3. Убедитесь, что все сценарии и css включает в себя правильный путь при развертывании.

Если вы развертываете свой сайт MVC на общем хостинге, где у вас нет доступа к настройкам IIS.

  1. Убедитесь, что вы добавили правильные httpHandlers в свой файл web.config, чтобы переписывание URL-адресов могло правильно отображаться на нужных страницах.
  2. Другой способ - добавить пользовательскую маршрутизацию в свои MapRoutes. например добавить расширение (.aspx) в свой маршрут по умолчанию. ({controller}.aspx/{action}/{id}). Но я не советую это.
0 голосов
/ 03 октября 2010

Книга Палермо, Богарда и др. ASP.NET MVC 2 в действии, от Мэннинга, является отличным источником информации об использовании MVC и содержит бесплатную главу, посвященную методам развертывания: http://github.com/jeffreypalermo/mvc2inaction/tree/master/manuscript/Chapter17/

Я думаю, в этом, вероятно, будет все, что вам нужно.

...