ASP.NET MVC is a web framework built around the Model-View-Controller pattern. Microsoft released it in 2009 as an alternative to ASP.NET Web Forms, separating user-interface elements from application logic, improving testability, and giving developers tighter control over generated HTML. section 2.2
Understand its main strengths and constraints:
- Uses the established ASP.NET and .NET Framework foundation, including System.Web.dll, providing a reliable and widely deployed Windows web platform. section 2.2
- Separates interface concerns from application logic, making testing easier than with the stateful Web Forms model. section 2.2
- Offers closer control of generated HTML, which supports client-side development more effectively than Web Forms. section 2.2
- Remains tied to .NET Framework, Windows, and Internet Information Services, limiting cross-platform use and slowing framework evolution. section 2.2
ASP.NET MVC shares ideas with ASP.NET Core but does not share its underlying architecture. Existing applications that depend heavily on previous MVC extensibility points may require substantial redesign rather than a direct port. section 2.4.3
Figure 2.2 The relationships among ASP.NET Core, ASP.NET, .NET Core/.NET 5+, and .NET Framework. ASP.NET Core runs on .NET Core and .NET 5+, so it can run cross-platform. Conversely, ASP.NET runs on .NET Framework only, so it’s tied to the Windows OS.
Use the platform relationship diagram to distinguish Windows-bound ASP.NET MVC from cross-platform ASP.NET Core. section 2.2
