关于asp.net web form 和 asp.net mvc 的区别

asp.net web forms 有什么缺陷?

1.视图状态臃肿:服务器和客户端传输过程中包含了大量的试图状态——在现在的web程序中甚至多达几百kb,而且每次往返都会请求,导致服务器请求带宽增加,减慢服务器与客户端交互速度。

2.页面生命周期复杂:客户端事件和服务器事件之间的控制代码以及部分页面的生命周期关系复杂而微妙,一旦出现错误,很少有程序员能够成功的控制状态找到问题。

3.不完全的代码分离:asp.net web forms 的前后台代码分离将前台展现代码和后台业务逻辑分开很不错,但是还不够,大量的展现逻辑代码和数据逻辑代码以及业务逻辑代码都被塞进后台代码中。

4.无法完全控制html:服务器控件虽然方便,但是转换成html可能不是自己想要的,而且服务器控件应用到css和javascript上面会有很多问题(譬如无法找到id或样式污染等等)。——这个我决定是最最无法接受的。

5.asp.net web form 试图隐藏html和http的逻辑关系,是你很难自定义这些属性。

6.asp.net web form 模式很难实现自动化单元测试。

adp.net web form 的优点:

1.开发迅速,快捷,相对简单。

asp.net mvc 有什么好处

1.采用可mvc模式,mvc模式更加符合现在的web交互模式。

2.可扩展性好,可用原类,可派生,和重写。

3.更好的控制Html和Http,符合css和javascript标准。支持自定义控件。

4.更加容易自动化单元测试

5.更强大智能的路由系统。(如果三级内网用mvc开发,现在想换个虚拟目录名就轻轻松松)

6.使用更现代的api

7.开源

REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。 目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务进行图书查找;雅虎提供的Web服务也是REST风格的。

简单对象访问协议(SOAP)是一种轻量的、简单的、基于XML的协议,是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。

时间: 2024-12-18 03:19:10

关于asp.net web form 和 asp.net mvc 的区别的相关文章

Asp.net web form url route使用总结

asp.net web form 使用URL路由 注不是mvc中的路由 一.前台控件使用路由,通过表达式生成url地址,注意给路由参数赋值,防止使用了其他路由表达式值方式1:<asp:HyperLink ID="hlSupply" NavigateUrl='<%$RouteUrl:routename=TechSupplySearch,areacode=,techfield=%>'                runat="server">技

ASP.NET Web API实践系列01,以ASP.NET Web Form方式寄宿

创建一个空的ASP.NET Web Form项目. 右键项目,添加新项,创建Web API控制器类,TestController. 删除掉TestController默认的内容,编写如下: using System.Web.Http; namespace WebApplication1 { public class TestController : ApiController { [AcceptVerbs("Get")] public string SayHello() { retur

ASP.NET Web Form和MVC中防止F5刷新引起的重复提交问题

转载  http://www.cnblogs.com/hiteddy/archive/2012/03/29/Prevent_Resubmit_When_Refresh_Reload_In_ASP_NET_Web_Form_MVC.html 什么是刷新/重新载入 IE中的刷新(Refresh),在FF和Chrome中称为重新载入(Reload),与正常进入页面的区别在于以下两点: 1. 缓存控制 如果文件(比如图片)在本地缓存中已经存在,正常进入页面会不访问服务器而直接从本地加载.而对于刷新操作,

添加asp.net mvc到现有的asp.net web form 应用程序

前言 asp.net mvc的前一版本为asp.net web Form(Asp.net mvc之前称为asp.net),其第一个版本与2002年年初发布.asp.net web form 属于.net框架的一部分.在接下来的十余年,asp.net web form框架稳步发展,不去越来越多的网站均采用asp.net 框架.几年后,新的web开发框架asp.net mvc 发布.如果想将asp.net mvc添加到现有的asp.net web form 系统中怎么办呢? 正文 如果想避免风险,想

Web Form 与 Asp.net MVC架构、开发之异同

本文所说的Web Form指的是基于.net 平台开发网站的框架(我们通常称之为:Asp.net),Web Form实际上分为两个部分:Web Form(可视化界面)和Asp.Net(后台web组件).所有System.Web.UI.*命名空间下的可以称为Web Form ,System.Web.*命名空间下的可以称为Asp.net.Asp.net诞生于2002年初,Web Form之前的微软Web 开发技术有ASP,ASP把业务逻辑和标语语言(html)代码混合在页面里,Web Form对AS

asp.net web form 的缺点

与mvc相比,web form 的缺点: 代码架构麻烦. 以页面或控件为单位,把逻辑放在了一起,代码架构简单.平铺直叙,修改.维护比较麻烦. 不方便单元测试.  功能堆加在了一起,不方便对单个的功能进行测试. Viewstate 性能问题. 重用性 不是很好.相同或类似的代码,不好重用. 对html缺少控制. 不利用 团队开发.前台后台代码放在了一起,多个人对同一文件修改,容易出现同步性.协调性问题.版本控制也会有问题.

Asp.Net Web API VS Asp.Net MVC

http://www.dotnet-tricks.com/Tutorial/webapi/Y95G050413-Difference-between-ASP.NET-MVC-and-ASP.NET-Web-API.html Asp.Net MVC is used to create web applications that returns both views and data but Asp.Net Web API is used to create full blown HTTP serv

在ASP.NET Web API和ASP.NET Web MVC中使用Ninject

先附上源码下载地址 一.准备工作 1.新建一个名为MvcDemo的空解决方案 2.新建一个名为MvcDemo.WebUI的空MVC应用程序 3.使用NuGet安装Ninject库 二.在ASP.NET MVC中使用Ninject 1.新建一个Product实体类,代码如下: public class Product { public int ProductId { get; set ; } public string Name { get; set ; } public string Descr

ASP.NET Web Form服务器控件三级联动

<form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server" style="dis