在最近发布的Visual Studio 2012及.NET
4.5
中,
微软行业内部推出新的网络服务框架ASP.NET
Web API
。作为ASP.NET MVC 四的一有的,ASP.NET
Web API那套开源框架的设计目标是简化RESTful服务的支付和动用。

ASP.NET Web API
与事先的内建HTTP服务消除方案的不一样之处在于,它一起初就是环绕HTTP协议及其音信语义创设起来的。与WCF
REST或ASP.NET
AJAX加ASMX相比,它不是对现存框架的加强,而是三个斩新的阳台。新的ASP.NET
Web
API的优势在于它汇集了事先各平台的各类最棒风味,结合为1个完美而不臃肿的HTTP平台。

微软现已有了二个的Web服务框架叫做Windows Communication Foundation(
WCF),它应用TCP、HTTP、MSMQ等传输协议构建“契约先行”的劳动。WCF最初为依照SOAP的服务而规划,首先援救的是WS-*职能,但后来增多了少量迎合REST的法力。在WCF
四.伍也有非常大的提升,具体能够看如下种类作品:

  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成为WCF1部分,需求动的手术实在有点大(至少Web
API的开垦者们给了我如此的回忆),是根据RPC风格的API。另壹方面,ASP.NET
MVC的根底设备既能优雅地处理HTTP请求和响应,又能轻轻松松创设各个调节器,好像是开创那种新类型服务的合适路线。

  • 支持U奇骏L路由,透过用户熟练的MVC风格路由语义,生成干净的U奥迪Q5L
  • 依照Accept标头对请求和响应的种类化方式开始展览内容协商(Content
    Negotiation)
  • 支持大气输出格式,包蕴JSON、XML、ATOM等
  • 暗中认可对REST语义有周详支持,同时又不强制限定必须选用REST语义
  • 轻易扩充的Formatter机制,援助增加新的输入/输出类型
  • 可由此HttpResponseMessage类、HttpRequestMessage类和强类型枚举来讲述大批量的HTTP操作,提供对越来越尖端的HTTP天性的吃水援救
  • 根据惯例的布署教导用户按HTTP Services的正确方法工作
  • Formatters和Filters延续了MVC的增加模型,具有突出的扩大技巧
  • 用来非Web程序时,能够退出IIS运营(Self-hostable)
  • 怀有可测试性,测试机制的设计类似于MVC

    
今后大家富有了一个劳务框架,三个根据RPC机制的WCF和一个依照HTTP的ASP.NET
Web Api。在大家的费用实践中什么实行抉择啊?
能够参照出名互连网公司,无论是google,facebook,baidu,知乎依旧腾讯。他们对外开放的接口都以依照Http的Web
API,在劳务之中框架都是遵照SOA架构设计的,通信机制都以采纳RPC机制的,例如GoogleProtocol Buffers ,Facebook thift。
我们一起也足以如此搭配,在中间通讯应用WCF +
Protobuf-NET,参看《WCF服务上使用protobuf》,对外的劳动使用ASP.NET
WEB API。WCF的 TCP、Named Pipes,甚至UDP(在WCF
肆.第55中学)绑定的习性要比HTTP强许多倍,那里有2个几年前的微软的测试报告《WCF
质量规范报告
》,对外提供的劳动应用Web
API同时也是1个产业界规范难点,用WebAPI就很轻便的凌驾ios,android,wp等活动终端平台,同时有很干练的OAuth
化解安全难题。

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

Web API
强势入门指南

Web API 入门指南 –
闲话安全

相关文章

网站地图xml地图