Является ли _AppStart.cshtml официальной частью ASP.Net MVC?

_AppStart.cshtml упоминается не часто, а когда упоминается, кажется, что он упоминается как часть веб-страниц WebMatrix/ASP.Net, а не собственно MVC.

Кроме того, этот ответ StackOverflow с высокой оценкой утверждает, что _AppStart.cshtml "не используется в MVC». Это либо вводит в заблуждение, либо просто не соответствует действительности, потому что если вы создадите новое пустое приложение MVC4 в Visual Studio и поместите его в _AppStart.cshtml:

@{        
    throw new Exception("Uh oh!");
}

Ваш сайт не работает.

Итак, какова «официальная» рекомендация по использованию _AppStart.cshtml? Это упущение, что это работает? Или это устарело в MVC5?

(Я надеюсь, что это не устарело и не осуждается, потому что это кажется удобным способом разрешить изменения конфигурации всего сайта без повторного развертывания /bin и без работы с global.asax или web.config.)


person anon    schedule 31.01.2014    source источник


Ответы (1)


Это официальная часть платформы веб-страниц, на которой основан Razor View Engine. Это такая же часть Web Pages 3 (что и использует MVC 5), как и предыдущие версии Web Pages.

Нет причин, по которым вы не можете использовать _AppStart.cshtml в MVC. Вы также можете использовать другие функции веб-страниц, такие как @helper и @function. Все это, вероятно, будет неодобрительно для некоторых. Пока ваш начальник или клиент не входит в число этих «некоторых», вы можете свободно пользоваться ими.

Если вы внесете изменения в AppStart, вы получите тот же эффект, как если бы вы изменили файл web.config. Приложение выгрузится и перезапустится.

AppStart был представлен как простой способ доступа к Application_Start для начинающих (на что действительно нацелены веб-страницы) без необходимости разбираться в global.asax и событиях.

person Mike Brind    schedule 31.01.2014