WCF Web Api

什么是WCF Web Api ?

越来越多的互联网应用向外开放他们的功能,例如Flickr,Twitter和Facebook,国内也掀起了开放的浪潮。处理这些社会化的应用外,企业的组织也在暴露企业的应用功能。WCF Web API允许开发人员通过HTTP开放他们的应用程序、数据和服务。这允许开发人员可以充分利用HTTP作为应用程序的协议,应用程序可以和丰富的客户端进行交互,不仅仅是浏览器、移动设备、桌面应用还是其他的后端服务。他们还可以利用网络的高速缓存和代理的基础设施,通过提供适当的控制和实体头的方式,在下个版本的WCF(.NET 4.5)设计了RESTful风格的,并不强制开发人员使用Rest的应用程序,你的应用程序可以从REST风格获得可发现、演化性和可扩展性。

高层次架构图

HTTP客户端 - WCF HTTP引入了一个用于发送HTTP请求和接收HTTP响应新的HTTP客户端。新客户端已建成非常紧密,与HTTP规范的规定,并允许开发者使用任何HTTP服务。 WCF的Web API也包含了简化的HTTP Body到.NET类转换的扩展方法。客户端还包括HttpRequestMessage和HttpResponseMessage是强类型的HTTP消息交涉。 WCF HTTP服务端也是用这写心得HTTP 消息。 监听器 - 这个组件通过HTTP侦听并接受传入的HTTP消息。监听器有一个像“http://www.contoso.com”,它的传入流量监控的具体的基址。 HTTP 通道堆栈 - WCF HTTP是不可知的托管环境,因为它可以在ASP.NET托管,直接在IIS或在桌面前端自托管,或像一个窗口服务后端进程。在托管之后,我们转变成我们新的HttpRequestMessage原始传入的HTTP消息,我们改造成一个原始HTTP响应传出HttpResponseMessage实例。如堵在OAuth的渠道处理的安全性,或所有消息的日志记录在通道层水平低问题可以得到解决。新HttpChannel API允许是一个简单易用的扩展点,允许开发人员轻松地插入这样的顾虑。 调度 - 调度程序是为当前HTTP请求路由到HTTP服务实例和服务方法上的责任。服务和方法的基础上匹配的URI和HTTP方法(GET,POST,PUT,DELETE等)。在这层序列化也是处理,允许HTTP消息或进行改造和其他组件的Body和.NET类型的互相转换。在WCF的Web API,已经推出了新的扩展点称为HTTP处理器,使开发人员可以轻松地插入自己的媒体类型的格式化(包括那些支持超媒体),它可以同时在身体以及其他组件的消息像的URI。处理器也可以用于解决其他交叉HTTP像ETag的关注。处理器还设计轻松测试。 HTTP服务 - 该服务的地方开发的一个自定义HTTP请求处理代码。在我们开发新的WCF HTTP版本可以直接访问底层的HTTP请求,并通过操作,而不是通过像WebOperationContext静态API的参数响应。新的请求和响应测试友好使服务更容易单元测试。 *对于那些熟悉WCF,这可能类似于您对我们以前的版本中看到图。主要区别在于,在各个层次的组成部分,现在具体到HTTP。

注:本文基本来自 http://wcf.codeplex.com/wikipage?title=WCF HTTP

Getting Started: Building a simple web api using HTTP GET

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏三木的博客

Linux基础知识总结

###一:什么是Linux? Linux被称为类Unix操作系统,遵循POSIX标准。Linux与Unix的最大不同在于源代码的开放性和自由性。 Linux的发...

29890
来自专栏蓝天

Unix&Linux下常见的性能分析工具介绍

Vmstat是一个很全面的性能分析工具,可以观察到系统的进程状态、内存使用、虚拟内存使用、磁盘的IO、中断、上下文切换、CPU使用等。系统性能分析工具中,使用...

13310
来自专栏韩伟的专栏

编写可复用的服务端软件系统应该注意的五个重要细节

编写可复用的服务端软件系统应该注意的五个重要细节 作为程序员,我们往往希望自己写的代码能被最大程度的重用,但是我们依然能看到有很多“被重复发明的轮子”,其原因往...

398100
来自专栏云计算教程系列

如何在CentOS 7上使用Pacemaker建立Apache主动 - 被动群集

高可用性是当今的一个重要主题,因为服务中断可能非常昂贵。谨慎采取措施,以便在发生中断时保持您的网站或Web应用程序正常运行。使用Pacemaker堆栈,您可以配...

14000
来自专栏美团技术团队

Lego:美团点评接口自动化测试实践

概述 接口自动化概述 众所周知,接口自动化测试有着如下特点: 低投入,高产出。 比较容易实现自动化。 和UI自动化测试相比更加稳定。 如何做好一个接口自动化测试...

1.6K130
来自专栏linux、Python学习

Linux吃掉了我的内存

在Windows下资源管理器查看内存使用的情况,如果使用率达到80%以上,再运行大程序就能感觉到系统不流畅了,因为在内存紧缺的情况下使用交换分区,频繁地从磁盘上...

22250
来自专栏喵了个咪的博客空间

phalapi-入门篇4(国际化高可用和自动生成文档)

phalapi-入门篇4(国际化高可用和自动生成文档) ? 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 在...

38590
来自专栏一名合格java开发的自我修养

JMX,Jstatd做好JVM应用上线的最后一层保障

我理解的监控分两种,一种是运维的监控-监控整个集群的各项资源的使用情况以及各个服务的存活情况,另一种是开发的监控-监控代码问题导致的线程死锁,OOM等,以及业务...

26740
来自专栏Vamei实验室

Linux架构

我以下图为基础,说明Linux的架构(architecture)。(该图参考《Advanced Programming in Unix Environment》...

327100
来自专栏腾讯移动品质中心TMQ的专栏

Android内存泄露测试不再蓝瘦,香菇

在进行Android内存泄露分析时,面对成千上万个对象,你是否蓝瘦,香菇?作为测试人员你在进行内存泄露测试之后,是否有勇气告诉开发同事程序已经没有内存泄露,可以...

32470

扫码关注云+社区

领取腾讯云代金券