ASP.NET和ASP.NET MVC之间的区别是什么



当谈到ASP.NET时,我是一个完全的初学者,但我想学习它,以便构建一个最终与云托管SQL服务器通信的web应用程序。但是,我找不到任何概述ASP.NET web应用程序和ASP.NET MVC2 web应用程序(在visual studio 2010中)之间区别的信息,所以我不知道从哪里开始。有人能给我一个简单的解释/大纲吗?这样我就可以决定要遵循的教程了?

感谢

ASP.NET是一个web平台。它提供了一个位于IIS(web服务器)之上的层,方便创建web应用程序和web服务。ASP.NET MVC是一个专门用于构建web应用程序的框架。它位于ASP.NET之上,使用ASP.NET提供的API。ASP.NET Web Forms是另一个专门用于构建Web应用程序的框架,而新的ASP.NET Web API是一个用于构建Web服务的平台。

ASP.NET在其最基本的级别上,为您提供了一种方法,可以在事件驱动的编程模型中提供与服务器端"控件"相结合的通用HTML标记,该模型可以与VB、C#等一起使用。您可以定义网站的页面,插入控件,并提供编程管道,使其全部工作。

ASP.NET MVC是一个基于模型-视图-控制器体系结构模式的应用程序框架。这可能被视为实现网站的特定方式的"罐装"框架,页面充当"控制器",并将请求发送到应用程序中的适当页面。这个想法是对应用程序的各种元素进行"分区",例如业务规则、表示规则等等

将前者视为实现您或多或少从头开始设计的站点架构的"白板"。MVC提供了一种围绕预先确定的应用程序访问"模式"设计网站的机制,如果这有意义的话。可以肯定的是,它还有更多的技术细节,但这就是问题的五分之旅。

祝你好运!

ASP.NET MVC2 web应用程序是基于MVC模式的,目的是便于单元测试,而不嘲笑管道ASP.NET,因为这非常困难。为了将代码图形和代码功能分开,您在CodeBehind上没有代码。

使用MVC,您的应用程序将独立于视图。您可以轻松替换创建视图的技术。

阅读这篇文章非常有趣:http://msdn.microsoft.com/en-us/magazine/dd942833.aspx

与ASP.Net web表单一样,ASP.Net MVC是在Microsoft.Net框架中构建web应用程序的开发模型。它们之间的主要区别是ASP.net MVC是基于MVC体系结构的。其中我们有3个独立的层——模型、视图控制器,它们相互交互以呈现HTML输出。

的主要差异

  1. Web表单主要有一个事件驱动的模型。其中我们有页面级事件(page_load、pre-render、page_init等)和控制级事件。MVC的情况并非如此。请求的生命周期相对复杂。(为什么复杂,因为在呈现HTML输出之前,请求必须经过所有事件)

  2. Web表单基本上有一个aspx页面,其中包含UI控件和代码隐藏文件。所有页面级别的事件和控件级别的事件都在这里处理。在MVC中,视图、模型、控制器可以独立存在(给出明确的关注点分离)

  3. SOC使开发变得更容易,因为我们可以为View(设计html)和controller(实现业务逻辑)单独开发人员

  4. 由于这种紧密耦合的性质,web表单不适合单元测试。在MVC中,我们可以在控制器级别和操作方法级别编写单元测试。在这里,我们可以模拟要传递到视图的数据,并为它们的不同属性(如视图名称、模型属性、null检查等)断言操作方法的结果

  5. 在网络表单中,我们有状态完整的行为。ASPX页面中的服务器控件使用视图状态在请求-响应周期中保留其状态。由于此视图状态作为隐藏控件存储在页面内部,并且它们是在请求和响应周期中发送的,因此会使它们变得更重。MVC视图状态的缺失和无状态的本质使其更加轻量级。因此,它们在请求生命周期中要快得多。

如果您有VS10,请制作一个小型ASP.NET(webforms)应用程序和一个小型ASP.NETMVC 2应用程序,并检查它们之间的差异。这是一种很好的学习方式。

这里有很好的材料http://www.webdevelopmenthelp.net/2013/10/Difference-between-ASP.NET-WebForm-And-ASP.NET-MVC.html

ASP.NET是一个没有单独数据库部分的2层应用程序,MVC是一个视图和逻辑分离的3层应用程序。在ASP.NET中,为每个.aspx表单生成一个URL,但在MVC中,URL是基于控制器和路由器配置生成的。

ASP.NET是一个web平台。它提供了一个位于web服务器顶部的层,便于创建web应用程序和web服务。ASP.NET是一个专门用于构建web应用程序的框架。它位于ASP.NET之上,使用ASP.NET提供的API。ASP.NET Web Forms是另一个专门用于构建Web应用程序的框架,新的ASP.NET Web API是一个用于构建Web服务的平台

最新更新