ASP.NET MVC Framework

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
ASP.NET MVC Framework
Тип Веб-фреймворк
Разработчик Microsoft
Написана на C#
Операционная система Кроссплатформенное ПО
Последняя версия MVC 5.2.8 (12 апреля 2022)
MVC 6 1.0.0 (27 июня 2016)[1]
Состояние Активный
Лицензия Apache License
Ссылки
Сайт dotnet.microsoft.com/en-…

ASP.NET MVC Framework — фреймворк для создания веб-приложений, который реализует шаблон Model-View-Controller.

В апреле 2009 года исходный код ASP.NET MVC был опубликован под лицензией Microsoft Public License (MS-PL)[2]. 27 марта 2012 года лицензия была изменена на Apache License 2.0[3]

В настоящее время разрабатывается ASP.NET MVC 6, как часть ASP.NET Core; 27 июня 2016 года состоялся выход версии 1.0.0[4].

История версий

История версий
Дата Версия Примечание
2007-12-10 ASP.NET MVC Framework запущен в рамках программы Community Technology Preview
2008-03-05 ASP.NET MVC Preview 2 выпущен
2008-05-01 ASP.NET MVC Preview 3 выпущен
2008-07-16 ASP.NET MVC Preview 4 выпущен[5]
2008-08-28 ASP.NET MVC Preview 5 выпущен[6]
2008-10-16 ASP.NET MVC Beta выпущен[7]
2009-01-27 ASP.NET MVC RC выпущен[8]
2009-03-03 ASP.NET MVC RC2 выпущен[9]
2009-03-17 ASP.NET MVC 1.0 выпущен[10]
2009-07-31 ASP.NET MVC 2.0 Preview 1 выпущен[11]
2009-11-17 ASP.NET MVC 2.0 Beta выпущен[12] (совместим с VS2008SP1, но не с VS2010Beta/RC)
2009-12-17 ASP.NET MVC 2.0 RC выпущен[13] (совместим с VS2008SP1, но не с VS2010Beta/RC)
2010-02-05 ASP.NET MVC 2.0 RC2 выпущен[14] ((совместим с VS2008SP1, но не с VS2010Beta/RC)
2010-03-10 ASP.NET MVC 2.0 RTM выпущен[15]
2010-07-27 ASP.NET MVC 3.0 Preview 1 выпущен[16]
2010-10-06 ASP.NET MVC 3.0 Beta выпущен[17]
2010-11-10 ASP.NET MVC 3.0 Release Candidate выпущен[18] (поддержка Razor IntelliSense)
2010-12-13 ASP.NET MVC 3.0 RC2 выпущен[19]
2011-01-12 ASP.NET MVC 3.0 RTM выпущен[20]
2011-09-14 ASP.NET MVC 4.0 Developer Preview выпущен[21]
2012-02-14 ASP.NET MVC 4.0 Beta выпущен[22]
2012-05-17 ASP.NET MVC 4.0 RC выпущен[23]
2012-08-13 ASP.NET MVC 4.0 выпущен[24]
2013-05-30 ASP.NET MVC 4 4.0.30506.0 выпущен
2013-06-26 ASP.NET MVC 5 Preview выпущен
2013-08-23 ASP.NET MVC 5 RC 1 выпущен
2013-10-17 ASP.NET MVC 5 выпущен
2013-12-09 ASP.NET MVC 5.1 RC 1 выпущен
2014-01-17 ASP.NET MVC 5.1 выпущен
2014-02-10 ASP.NET MVC 5.1.1 выпущен
2014-04-04 ASP.NET MVC 5.1.2 выпущен
2014-05-27 ASP.NET MVC 5.2.0-rc выпущен
2014-07-01 ASP.NET MVC 5.2 выпущен
2014-08-23 ASP.NET MVC 5.2.2-rc выпущен
2014-08-28 ASP.NET MVC 5.2.2 выпущен
2015-02-09 ASP.NET MVC 5.2.3 выпущен
2015-11-07 ASP.NET MVC 6 — 1.0.0-beta1 выпущен[25]
2015-11-18 ASP.NET MVC 6 — 1.0.0-rc1 выпущен[25]
2016-05-18 ASP.NET MVC 6 — 1.0.0-rc2 выпущен[25]
2016-06-27 ASP.NET MVC 6 — 1.0.0 выпущен[25]
2018-02-12 ASP.NET MVC 5.2.4[26] выпущен
2018-05-02 ASP.NET MVC 5.2.5[27] выпущен
2018-05-11 ASP.NET MVC 5.2.6[28] выпущен
2018-11-29 ASP.NET MVC 5.2.7[28] выпущен
2022-04-12 ASP.NET MVC 5.2.8 текущая

Основные компоненты ASP.NET MVC

Платформа ASP.NET MVC базируется на взаимодействии трех компонентов: контроллера, модели и представления. Контроллер принимает запросы, обрабатывает пользовательский ввод, взаимодействует с моделью и представлением и возвращает пользователю результат обработки запроса.

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

Движок представлений

Для управления разметкой и вставками кода в представлении используется движок представлений. До версии MVC 5 использовались два движка: Web Forms и Razor.

Начиная с MVC 5 единственным движком, встроенным по умолчанию, является Razor. Движок WebForms использует файлы .aspx, а Razor — файлы .cshtml и .vbhtml для хранения кода представлений. Основой синтаксиса Razor является знак @, после которого осуществляется переход к коду на языках C#/VB.NET[29]. Также возможно и использование сторонних движков. Файлы представлений не являются стандартными статическими страницами с кодом html, а в процессе генерации контроллером ответа с использованием представлений компилируются в классы, из которых затем генерируется страница html.

Маршрутизация

При обработке запросов фреймворк ASP.NET MVC опирается на систему маршрутизации, которая сопоставляет все входящие запросы с определенными в системе маршрутами, которые указывают какой контроллер и метод должен обработать данный запрос. Встроенный маршрут по умолчанию предполагает трехзвенную структуру: контроллер/действие/параметр.

ASP.NET MVC и ASP.NET Web Forms

ASP.NET MVC и ASP.NET Web Forms являются двумя родственными технологиями, в основании которых лежит одна платформа ASP.NET. И все же ASP.NET MVC имеет ряд преимуществ перед ASP.NET Web Forms[30]:

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

Примечания

  1. MVC Releases. Official Microsoft ASP.NET Site. Дата обращения: 25 июня 2016. Архивировано 29 июля 2017 года.
  2. Scott Guthrie. ASP.NET MVC 1.0 Source Released (недоступная ссылка). Дата обращения: 2 апреля 2009. Архивировано 26 марта 2012 года.
  3. ASP.NET MVC / Web API / Web Pages. Дата обращения: 29 марта 2012. Архивировано 8 июля 2017 года.
  4. ASP.NET Core 1.0 Schedule and Roadmap. Дата обращения: 25 июня 2016. Архивировано 22 февраля 2016 года.
  5. ASP.NET MVC Preview 4 Released — Shiju Varghese’s Blog. Retrieved from http://weblogs.asp.net/shijuvarghese/archive/2008/07/16/asp-net-mvc-preview-4-released.aspx Архивная копия от 27 мая 2009 на Wayback Machine
  6. ASP.NET MVC CodePlex Preview 5 Release Notes. Retrieved from http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=aspnet&ReleaseId=16775 Архивная копия от 27 сентября 2011 на Wayback Machine.
  7. Microsoft Download Center (недоступная ссылка)
  8. http://go.microsoft.com/fwlink/?LinkID=141184&clcid=0x409
  9. Microsoft Download Center (недоступная ссылка)
  10. Download details: ASP.NET MVC 1.0 (недоступная ссылка)
  11. Microsoft Download Center (недоступная ссылка)
  12. Download details: ASP.NET MVC 2 Beta (недоступная ссылка)
  13. Download details: ASP.NET MVC 2 RC. Дата обращения: 20 апреля 2010. Архивировано 30 августа 2010 года.
  14. Download details: ASP.NET MVC 2 RC (недоступная ссылка)
  15. Download details: ASP.NET MVC 2 RTM. Дата обращения: 20 апреля 2010. Архивировано 5 сентября 2010 года.
  16. Download details: ASP.NET MVC 3 Preview 1. Дата обращения: 3 августа 2010. Архивировано 31 августа 2010 года.
  17. Download details: ASP.NET MVC 3 Beta. Дата обращения: 6 октября 2010. Архивировано 17 ноября 2010 года.
  18. Download details: ASP.NET MVC 3 Release Candidate. Дата обращения: 10 ноября 2010. Архивировано 30 апреля 2011 года.
  19. Download details: ASP.NET MVC 3 RC2. Дата обращения: 13 декабря 2010. Архивировано 25 декабря 2010 года.
  20. Download details: ASP.NET MVC 3 RTM. Дата обращения: 16 января 2011. Архивировано 4 июня 2011 года.
  21. Download details: ASP.NET MVC 4 Developer Preview (недоступная ссылка)
  22. Download details: ASP.NET MVC 4 Beta. Дата обращения: 27 февраля 2012. Архивировано 18 февраля 2012 года.
  23. Download details: ASP.NET MVC 4 RC. Дата обращения: 30 августа 2012. Архивировано 26 августа 2012 года.
  24. Download details: ASP.NET MVC 4. Дата обращения: 16 августа 2012. Архивировано 18 августа 2012 года.
  25. 25,0 25,1 25,2 25,3 aspnet/Mvc. GitHub. Дата обращения: 25 июня 2016. Архивировано 29 июля 2017 года.
  26. Announcing ASP.NET MVC 5.2.4, Web API 5.2.4, and Web Pages 3.2.4. Microsoft (12 February 2018). Дата обращения: 14 марта 2018. Архивировано 23 января 2019 года.
  27. Announcing ASP.NET MVC 5.2.5, Web API 5.2.5, and Web Pages 3.2.5. Microsoft (2 May 2018). Дата обращения: 4 мая 2018. Архивировано 17 января 2019 года.
  28. 28,0 28,1 Ошибка цитирования Неверный тег <ref>; для сносок nuget.org не указан текст
  29. Движок представлений и Razor. Дата обращения: 28 мая 2014. Архивировано 12 июня 2014 года.
  30. ASP.NET MVC и ASP.NET WebForms. Дата обращения: 28 мая 2014. Архивировано 29 мая 2014 года.

Ссылки

Литература