Идиоматическим способом было бы использовать обработчик исключений вместо перехвата исключения в обычном методе обработки запросов. Тип исключения определяет код ответа. (403 за ошибку безопасности, 500 за непредвиденные исключения платформы, что угодно)
@ExceptionHandler(MyApplicationException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
public String handleAppException(MyApplicationException ex) {
return ex.getMessage();
}
@ExceptionHandler(Exception.class)
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
public String handleAppException(Exception ex) {
return ex.getMessage();
}
Самые большие риски, которые я видел, связаны с возвратом к среде без состояния.
Постбэк больше нет. Большинство серверных элементов управления ушли. Viewstate больше нет. Модель, управляемая событиями, больше не существует.
Если ваши разработчики использовали ТОЛЬКО веб-формы asp.net для создания сайтов, а не какую-либо другую веб-технологию, им предстоит много учиться.
Используйте строго типизированные представления и создайте новую модель для каждого представления
Простая причина: чтобы убедиться, что ваша модель отделена от вашего представления. Если вам нужно провести рефакторинг, вы сломаете только одну часть. Итак, если у вас есть представление под названием «Последние новости», у вас должна быть модель «LatestNewsViewModel». Затем задача контроллера - получить данные из реальной модели / базы данных и создать модель представления, которую она передала в ваши представления. Кроме того, если вы решите, что вам нужны дополнительные материалы в вашем представлении, вам не нужно реорганизовывать весь уровень доступа к данным, поскольку вам нужно только изменить ViewModel и действие контроллера, которое его заполняет.
Производительность
Я рекомендую посмотреть это слайд-шоу о проблемах производительности и оптимизации, которые могут иметь огромное влияние.
Самыми важными для меня были понимание привязки моделей и то, что вы можете иметь типизированные представления.
Также надлежащая защита ваших маршрутов.
Вы можете загрузить бесплатную электронную книгу из блога Скотта Гатри, где вы найдете подробное руководство по созданию сайта ASP.NET MVC с нуля.