asp.net mvc基本上是一个来自微软的web开发框架,它结合了mvc(模型 - 视图 - 控制器)体系结构的特性,它是最新的敏捷开发思想和技术,以及现有asp.net平台的最好部分 。
mvc 是一种使用 mvc(model view controller 模型-视图-控制器)设计创建 web 应用程序的模式:
asp.net mvc不是从零开始构建的东西。它是传统asp.net web窗体的完全替代方案。它建立在asp.net的顶层,因此开发人员在构建mvc应用程序时几乎可以享受/使用到所有的asp.net功能。如下架构图所示 -
作为.net framework版本1.0的一部分,asp.net 1.0于2002年1月5日发布。 那时,许多开发者很容易把asp.net和web forms想成是一回事。 但是asp.net总是支持两层抽象 -
在2007年asp.net mvc宣布的时候,mvc模式正在成为构建web框架的最流行的方式之一。
2009年4月,asp.net mvc源代码在microsoft公共许可证(ms-pl)下发布。 “asp.net mvc框架是一个轻量级,高度可测试的演示框架,与现有的asp.net功能集成在一起。
其中一些集成功能是母版页和基于成员资格的认证。mvc框架在system.web.mvc程序集中定义。
2012年3月,微软公司以开源许可证(apache license 2.0)发布了部分web栈(包括asp.net mvc,razor和web api)。 asp.net web窗体不包含在这个计划中。
微软决定创建自己的mvc框架来构建web应用程序。 mvc框架只是建立在asp.net之上。 在使用asp.net mvc构建web应用程序时,不会出现状态幻想,不会出现页面加载和页面生命周期等问题。
asp.net mvc的另一个设计目标是在整个框架的所有方面都是可扩展的。所以当我们谈论视图时,视图必须由特定类型的视图引擎呈现。 默认的视图引擎仍然可以采取一个aspx文件。 但是如果不喜欢使用aspx文件,那么可以使用别的东西,并插入自己的视图引擎。
在mvc框架内有一个组件将实例化控制器。你可能不喜欢mvc框架实例化控制器的方式,可能想要自己处理这个工作。 所以,在mvc中有很多地方可以注入自己的定制逻辑来处理任务。
以下是使用asp.net mvc的好处 -