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)等大量的应用程序。