ASP.NET MVC explained

ASP.NET MVC
Developer:Microsoft
Discontinued:yes
Latest Release Version:5.2.8
Latest Release Date:[1]
Latest Preview Version:6.0.0-rc2
Latest Preview Date:[2]
Replaced By:ASP.NET Core
Operating System:Cross-platform
Platform:.NET Framework, Mono
Programming Language:C#, VB.NET[3]
Genre:Web application framework
License:Apache License 2.0

ASP.NET MVC is a web application framework developed by Microsoft that implements the model–view–controller (MVC) pattern. It is no longer in active development. It is open-source software, apart from the ASP.NET Web Forms component, which is proprietary.

ASP.NET Core has since been released, which unified ASP.NET, ASP.NET MVC, ASP.NET Web API, and ASP.NET Web Pages (a platform using only Razor pages). MVC 6 was abandoned due to Core and is not expected to be released. Core is currently planned to merge into ".NET 5".[4]

Some well known sites that use ASP.NET MVC include Stack Overflow,[5] Microsoft, GoDaddy and Ancestry.com.[6]

Background

Based on ASP.NET, ASP.NET MVC allows software developers to build a web application as a composition of three roles: Model, View and Controller. The MVC model defines web applications with 3 logic layers:

A model represents the state of a particular aspect of the application. A controller handles interactions and updates the model to reflect a change in state of the application, and then passes information to the view. A view accepts necessary information from the controller and renders a user interface to display that information.[7]

In April 2009, the ASP.NET MVC source code was released under the Microsoft Public License (MS-PL).[8]

"ASP.NET MVC framework is a lightweight,[9] highly testable presentation framework that is integrated with existing ASP.NET features. Some of these integrated features are master pages and membership-based authentication. The MVC framework is defined in the System.Web.Mvc assembly."[10]

The ASP.NET MVC framework couples the models, views, and controllers using interface-based contracts, thereby allowing each component to be tested independently.

Apache License 2.0 release

In March 2012, Scott Guthrie announced on his blog that Microsoft had released part of its web stack (including ASP.NET MVC, Razor and Web API) under an open source license (Apache License 2.0).[11]

Guthrie wrote that "Doing so will enable a more open development model where everyone in the community will be able to engage and provide feedback on code checkins, bug-fixes, new feature development, and build and test the products on a daily basis using the most up-to-date version of the source code and tests."

The source code now resides on CodePlex. ASP.NET Web Forms was not included in this initiative for various reasons.[12]

Release history

Release history! Date !! Version
10 December 2007 ASP.NET MVC CTP
13 March 2009 ASP.NET MVC 1.0[13]
16 December 2009 ASP.NET MVC 2 RC[14]
4 February 2010 ASP.NET MVC 2 RC 2[15]
10 March 2010 ASP.NET MVC 2[16]
6 October 2010 ASP.NET MVC 3 Beta[17]
9 November 2010 ASP.NET MVC 3 RC
10 December 2010 ASP.NET MVC 3 RC 2[18]
13 January 2011 ASP.NET MVC 3[19]
20 September 2011 ASP.NET MVC 4 Developer Preview[20]
15 February 2012 ASP.NET MVC 4 Beta[21]
31 May 2012 ASP.NET MVC 4 RC[22]
15 August 2012 ASP.NET MVC 4[23]
30 May 2013 ASP.NET MVC 4 4.0.30506.0[24]
26 June 2013 ASP.NET MVC 5 Preview[25]
23 August 2013 ASP.NET MVC 5 RC 1[26]
17 October 2013 ASP.NET MVC 5
17 January 2014 ASP.NET MVC 5.1
10 February 2014 ASP.NET MVC 5.1.1
4 April 2014 ASP.NET MVC 5.1.2
22 June 2014 ASP.NET MVC 5.1.3
1 July 2014 ASP.NET MVC 5.2.0
28 August 2014 ASP.NET MVC 5.2.2
9 February 2015 ASP.NET MVC 5.2.3
12 February 2018 ASP.NET MVC 5.2.4[27]
2 May 2018 ASP.NET MVC 5.2.5[28]
11 May 2018 ASP.NET MVC 5.2.6
29 November 2018 ASP.NET MVC 5.2.7
12 April 2022ASP.NET MVC 5.2.8 (Current)

View engines

The view engines used in the ASP.NET MVC 3 and MVC 4 frameworks are Razor and the Web Forms.[29] [30] Both view engines are part of the MVC 3 framework. By default, the view engine in the MVC framework uses Razor .cshtml and .vbhtml, or Web Forms .aspx pages to design the layout of the user interface pages onto which the data is composed. However, different view engines can be used.[31] Additionally, rather than the default ASP.NET Web Forms postback model, any interactions are routed to the controllers using the ASP.NET Routing mechanism. Views can be mapped to different URLs.[7]

Other view engines:

See also

Further reading

Notes and References

  1. Web site: Nuget package Microsoft.AspNet.Mvc . 2019-01-10.
  2. Web site: MVC Releases. Official Microsoft ASP.NET Site. 18 May 2016.
  3. Web site: Intro to ASP.NET MVC 3 (VB). Rick Anderson. The Official Microsoft ASP.NET Site. 17 January 2015.
  4. Web site: Introducing .NET 5. 6 May 2019.
  5. Web site: What Was Stack Overflow Built With?. 21 September 2008.
  6. Web site: Top 10 Websites Written Using ASP.NET MVC - DZone Web Dev.
  7. Web site: ASP.NET MVC Framework . Scott Guthrie . 15 October 2007 . 2007-10-23. https://web.archive.org/web/20071022044027/http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx. 22 October 2007 . live.
  8. Web site: ASP.NET mvc 1.0 Source Released . Scott Guthrie . 2 April 2009 . 2009-04-02. https://web.archive.org/web/20090403084000/http://weblogs.asp.net/scottgu/archive/2009/04/01/asp-net-mvc-1-0.aspx. 3 April 2009 . live.
  9. Web site: Webform vs MVC performance comparison done with 25 user load test.. Koirala. Shivprasad. 27 September 2014. codeproject. 27 September 2014.
  10. Web site: ASP.NET MVC. aspnet4.com. 17 January 2015. 4 April 2014. https://web.archive.org/web/20140404205345/http://aspnet4.com/asp-net-4-thoery/asp-net-mvc/. dead.
  11. Web site: ASP.NET MVC, Web API, Razor and Open Source . Scott Guthrie . 28 March 2012 . 29 March 2012 .
  12. Web site: ASP.NET MVC 4, ASP.NET Web API and ASP.NET Web Pages v2 (Razor) now all open source with contributions . Scott Hanselman . 29 March 2012 .
  13. Web site: Download ASP.NET MVC 1.0 from Official Microsoft Download Center . Microsoft . 17 January 2015 .
  14. Web site: ASP.NET MVC 2 RC Released . Phil Haack . 16 December 2009 . 17 January 2015.
  15. Web site: ASP.NET MVC 2 RC 2 Released . Phil Haack . 4 February 2010 . 17 January 2015.
  16. Web site: Download ASP.NET MVC 2 RTM from Official Microsoft Download Center . Microsoft . 17 January 2015.
  17. Web site: ASP.NET MVC 3 . The Official Microsoft ASP.NET Site . 17 January 2015.
  18. Web site: Announcing ASP.NET MVC 3 (Release Candidate 2) . ScottGu's Blog . weblogs.asp.net . 11 December 2010 . 17 January 2015.
  19. Web site: Download ASP.NET MVC 3 RTM from Official Microsoft Download Center . Microsoft . 17 January 2015.
  20. Web site: ASP.NET . CodePlex . 17 January 2015.
  21. Web site: ASP.NET MVC 4 . The Official Microsoft ASP.NET Site . 17 January 2015.
  22. Web site: MSDN Blogs . Microsoft . 17 January 2015.
  23. Web site: MSDN Blogs . Microsoft . 17 January 2015.
  24. Web site: ASP.NET and Web Tools 2012.2 Release Notes . The Official Microsoft ASP.NET Site . 17 January 2015. dead . https://web.archive.org/web/20150110121145/http://www.asp.net/aspnet/overview/aspnet-and-visual-studio-2012/aspnet-and-web-tools-20122-release-notes-rtw. 2015-01-10 .
  25. Web site: ASP.NET and Web Tools for Visual Studio 2013 Release Notes . Microsoft ASP.NET Team . The Official Microsoft ASP.NET Site . 17 January 2015.
  26. Web site: Microsoft ASP.NET MVC 5.2.2 . . 17 January 2015.
  27. Web site: Announcing ASP.NET MVC 5.2.4, Web API 5.2.4, and Web Pages 3.2.4 . 12 February 2018 . Microsoft . 14 March 2018.
  28. Web site: Announcing ASP.NET MVC 5.2.5, Web API 5.2.5, and Web Pages 3.2.5 . 2 May 2018 . Microsoft . 4 May 2018.
  29. Web site: ScottGu's Blog - Introducing "Razor" – a new view engine for ASP.NET. asp.net. 3 July 2010 .
  30. Web site: ASP.NET MVC 3. The Official Microsoft ASP.NET Site. 15 June 2023 .
  31. Web site: Scott Hanselman's ASP.NET MVC Preview 2 Screencast Tutorials . 2008-10-13 . https://web.archive.org/web/20081029021535/http://www.hanselman.com/blog/ASPNETMVCPreview2ScreencastTutorials.aspx . 2008-10-29 . live.
  32. http://www.codeplex.com/MVCContrib MVCContrib
  33. Web site: string-template-view-engine-mvc - ASP.Net MVC ViewEngine for StringTemplate - Google Project Hosting. google.com.
  34. Web site: Spark View Engine. CodePlex. 15 March 2013. 11 January 2018. https://web.archive.org/web/20180111194921/http://sparkviewengine.codeplex.com/. dead.
  35. Web site: ndjango - An implementation of the Django Template Language on the .NET platform, using the F# language. - Google Project Hosting. google.com.