当谈到 ASP.NET 时,我是一个完整的初学者,但我想学习它以构建最终将与云托管 SQL 服务器通信的 Web 应用程序。但是,我找不到任何概述 ASP.NET Web 应用程序和 ASP.NET MVC2 Web 应用程序(在 Visual Studio 2010 中)之间区别的信息,所以我不知道从哪里开始。谁能给我一个简单的解释/大纲,以便我可以决定要遵循的教程?
谢谢
当谈到 ASP.NET 时,我是一个完整的初学者,但我想学习它以构建最终将与云托管 SQL 服务器通信的 Web 应用程序。但是,我找不到任何概述 ASP.NET Web 应用程序和 ASP.NET MVC2 Web 应用程序(在 Visual Studio 2010 中)之间区别的信息,所以我不知道从哪里开始。谁能给我一个简单的解释/大纲,以便我可以决定要遵循的教程?
谢谢
ASP.NET 是一个网络平台。它提供了一个位于 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,因为它非常困难。您没有代码背后的代码,以便将代码图形和代码功能分开。
使用 MVC,您的应用程序变得独立于视图。您可以轻松替换创建视图的技术。
阅读这篇文章很有趣:http: //msdn.microsoft.com/en-us/magazine/dd942833.aspx
这里有一个很好的材料 http://www.webdevelopmenthelp.net/2013/10/Difference-between-ASP.NET-WebForm-And-ASP.NET-MVC.html
如果您有 VS10,请制作一个小型 ASP.NET (webforms) 应用程序和一个小型 ASP.NET MVC 2 应用程序,并检查它们之间的差异。这是一个很好的学习方式。
ASP.NET 是一个网络平台。它提供了一个位于 Web 服务器之上的层,有助于创建 Web 应用程序和 Web 服务。ASP.NET 是专门用于构建 Web 应用程序的框架。它位于 ASP.NET 并使用 ASP.NET 提供的 API。ASP.NET Web Forms 是另一个专门用于构建 Web 应用程序的框架,而新的 ASP.NET Web API 是一个用于构建 Web 服务的平台
与 ASP.Net Web 表单一样,ASP.Net MVC 是在 Microsoft .net 框架中构建 Web 应用程序的开发模型。它们之间的主要区别在于 ASP.net MVC 是基于 MVC 架构的。我们有 3 个独立的层——模型、视图控制器,它们相互交互以呈现 HTML 输出。
主要区别
Web 表单主要是具有事件驱动的模型。我们有页面级事件(Page_load、预渲染、page_init 等)和控制级事件。这不是 MVC 的情况。请求生命周期相对复杂。(为什么复杂,因为请求必须经过所有事件才能呈现 HTML 输出)
Web 表单基本上有一个包含 UI 控件和代码隐藏文件的 aspx 页面。所有的页面级事件和控制级事件都在这里处理。在 MVC 中,视图、模型、控制器可以独立存在(提供明确的关注点分离)
SOC 使开发更容易,因为我们可以为 View(设计 html)和控制器(实现业务逻辑)拥有单独的开发人员
由于这种紧密耦合的性质,Web 表单不适合单元测试。在 MVC 中,我们可以在控制器级别和操作方法级别编写单元测试。在这里,我们可以模拟要传递给视图的数据,并为它们的不同属性(如视图名称、模型属性、空检查等)断言操作方法的结果
在 Web 表单中,我们有状态完整的行为。ASPX 页面中的服务器控件使用视图状态在请求响应周期内保持其状态。由于此视图状态存储为页面本身内部的隐藏控件,并且它们是在请求和响应周期中发送的,因此它们变得更加繁重。视图状态的缺失和 MVC 的无状态特性使其重量更轻。因此,它们在请求生命周期中要快得多。
ASP.NET 是一个 2 层应用程序,其中没有单独的数据库部分,而 MVC 是一个 3 层应用程序,其中视图和逻辑是分开的。在 ASP.NET 中,为每个.aspx
表单生成一个 URL,但在 MVC 中,URL 是基于控制器和路由器配置生成的。