在最近发布的Visual Studio 2012及.NET
4.5中,
微软正式推出初的网络服务框架ASP.NET
Web API。作为ASP.NET MVC 4的均等片段,ASP.NET
Web API这套起源框架的筹划目的是简化RESTful服务的支付和采用。

ASP.NET Web API
与之前的内建HTTP服务解决方案的不同之处在于,它同样开始就是环HTTP协议及其消息语义构建起来的。与WCF
REST或ASP.NET
AJAX加ASMX相比,它不是对现有框架的增进,而是一个簇新的阳台。新的ASP.NET
Web
API的优势在它们汇集了前头每平台的各种最佳风味,结合吗一个周到而不臃肿的HTTP平台。

微软一度出了一个底Web服务框架叫做Windows Communication Foundation(
WCF),它利用TCP、HTTP、MSMQ等传输协议构建“契约先行”的劳务。WCF最初为根据SOAP的劳动使计划,首先支持之是WS-*效果,但后来补加了少量迎合REST的效能。在WCF
4.5也发良怪的增强,具体可以关押如下系列文章:

  1. What’s new in WCF 4.5? Let’s start with WCF
    configuration
  2. What’s new in WCF 4.5? A single WSDL
    file
  3. What’s new in WCF 4.5? Configuration tooltips and intellisense in
    config
    files
  4. What’s new in WCF 4.5? Configuration
    validations
  5. What’s new in WCF 4.5? Multiple authentication support on a single
    endpoint in
    IIS
  6. What’s new in WCF 4.5? Automatic HTTPS endpoint for
    IIS
  7. What’s new in WCF 4.5?
    BasicHttpsBinding
  8. What’s new in WCF 4.5? Changed default for ASP.NET compatibility
    mode
  9. What’s new in WCF 4.5? Improved streaming in IIS
    hosting
  10. What’s new in WCF 4.5? UDP transport
    support
  11. What’s new in WCF 4.5? WebSocket support (Part 1
    of 2)
  12. What’s new in WCF 4.5? WebSocket support (Part 2
    of 2)

随着年华流逝,WCF Web
API为了让WCF适配到”原生”HTTP世界,遇到了成千上万不方便。因为WCF主要是吧因SOAP的XML消息设计之,为了给Web
API成为WCF一部分,需要动的手术实在有接触大(至少Web
API的开发者们受了我如此的记忆),是依据RPC风格的API。另一方面,ASP.NET
MVC的基础设备既会优雅地处理HTTP请求与响应,又能够轻松创建各种控制器,好像是创立这种新类型服务之熨帖路径。

  • 支撑URL路由,透过用户熟悉的MVC风格路由语义,生成干净的URL
  • 据悉Accept标头对要和响应的序列化形式开展内容商(Content
    Negotiation)
  • 支持大气输出格式,包括JSON、XML、ATOM等
  • 默认对REST语义有健全支持,同时还要不强制限定得使REST语义
  • 容易扩展的Formatter机制,支持上加新的输入/输出类型
  • 但由此HttpResponseMessage类XML、HttpRequestMessage类和强类型枚举来讲述大量之HTTP操作,提供针对性重复尖端的HTTP特性的吃水支持
  • 依据惯例的计划引导用户按HTTP Services的不利方法工作
  • Formatters和Filters延续了MVC的扩展模型,具备优异之扩张能力
  • 用于非Web程序时,可以脱离IIS运行(Self-hostable)
  • 有着可测试性,测试机制的计划类于MVC

    
现在咱们有着了2独服务框架,一个冲RPC机制的WCF和一个冲HTTP的ASP.NET
Web Api。在我们的开支执行备受争开展分选也?
可以参见知名互联网公司,无论是google,facebook,baidu,新浪还是腾讯。他们对外开放的接口都是基于Http的Web
API,在劳动内部框架都是冲SOA架构设计的,通讯机制还是以RPC机制的,例如Google
Protocol Buffers ,Facebook thift。
我们全然也可以这样搭配,在中间通讯应用WCF +
Protobuf-NET,参看《WCF服务及利用protobuf》,对外的劳务应用ASP.NET
WEB API。WCF的 TCP、Named Pipes,甚至UDP(在WCF
4.5受到)绑定的习性要于HTTP强很多加倍,这里发出一个几乎年前的微软的测试报告《WCF
性能规范报告》,对外提供的劳动以Web
API同时也是一个业界规范问题,用WebAPI就生爱的超ios,android,wp等运动终端平台,同时有死成熟的OAuth
解决安全问题。

微软随.NET 4.5发布新REST
API框架

Web API
强势入门指南

Web API 入门指南 –
闲话安全

相关文章

网站地图xml地图