标准答案:
微软的web api是在vs2012上的mvc4项目绑定发行的,它提出的web api是完全基于RESTful标准的,完全不同于之前的(同是SOAP协议的)wcf和webService,它是简单,代码可读性强的,上手快的,如 果要拿它和web服务相比,我会说,它的接口更标准,更清晰,没有混乱的方法名称,有的只有几种标准的请求,如get,post,put,delete 等,它们分别对应的几个操作
WEBSERVICE,走SOAP协议,虽然SOAP也 就是基于HTTP的协议,但是,在客户端,还是 容易被莫名其妙的拦截了。
WebApi完全走HTTP协议,所以,在 访问 中,被 拦截的可能性小。
此外,WebService,除非强行定义,否则,数据都要使用SOAP封包,在客户端开发的时候相对困难,而WebApi相对简单。
但是,WebService是早在1.1(好像是 1.0)就提供支持的,而WebApi是要.net 4.5才提供支持。
至于WebApi的资料?如果你会MVC,那么也就会了。
webApi不一定需要.net4.5,较低版本如4.0也能跑。
@幻天芒: 对。4.0也可以跑,但是,4.0的话,只能安装低版本的MVC,也就会导致MVC的一些新技术是用不上。
在XP系统里,能安装的.NET最高版本是4.0,不能安装4.5及以上版本。
@519740105: MVC4在4.0下可用,5.0的话新特性大部分是路由。
我的理解,主要还是设计思路不一个,
一个是提供服务,一个是提供仓储
不过我都是把webapi当成服务来用的....
我觉得WebService相对较重,WebApi呢,则很适合RESTFul风格,非常轻量,同时兼容性非常好。
实用角度来说,WebService一般返回格式是xml,网络传输会多于大量无用的格式字符,现在一般都用web api,资料www.asp.net还有微软各种学院上大堆的资料
不是三言两语能说清楚。
web api就是restful的web service
哎,这个问题我也问过。
最后用比较通俗的话来理解就是:
webservice的话,如果是.net平台调用很方便,其实平台调用就有点麻烦。要引用一些库之类的,另外在传输过程中用的是xml格式的字符串,引库+xml估计就是他们说的“庞大”吧。
而webAPI呢,就是一个URI资源,访问方式和访问普通的一个页面一样,直接输入URL就能访问了,不管在哪个平台,都一样
至于什么REST风格之类的。。我真看不明白。
这是我的总结,希望能帮到你吧。