首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >WCF Web Api vs WebHttpBinding

WCF Web Api vs WebHttpBinding
EN

Stack Overflow用户
提问于 2011-03-14 17:43:27
回答 3查看 5.3K关注 0票数 18

我是Web服务开发的新手,我正在寻找一些有用的信息和您对使用webHttpBinding与新的WCF Web API http://wcf.codeplex.com/进行比较的经验反馈。

我想知道的是webHttpBinding的缺点,以及为什么要使用新的Web api,特别是新的API解决了什么问题。如果你能给我一些比较两者的博客文章,或者只是谈谈使用webHttpBinding时的问题,我将不胜感激。提前谢谢你。

EN

回答 3

Stack Overflow用户

发布于 2011-03-14 22:39:06

对我来说,最重要的区别是编程模型的变化。您不再编写“服务”来公开绑定到HTTP习惯用法(GET、POST等)的“操作”。使用Web,您可以创建客户端可以与之交互的“资源”(POCOs)。

Web似乎更擅长处理各种自定义媒体类型(例如PNG图像)。

最后但并非最不重要的一点是,Web更适合自动化测试。例如,您不再需要使用静态上下文类来访问HTTP概念,例如响应码。您可以使用POCO请求和响应类,这些类可以使用旧式的new()操作符在自动化测试中轻松实例化。

我同意Ladislav的观点,Web现在只是一个预览,在它之上构建应用程序可能是有风险的,而且通过许可协议的方式是被禁止的(但我没有检查过这一点)。

你有没有考虑过@serialseb的OpenRasta?它是稳定的,并且为构建RESTful服务提供了非常好的编程模型。

票数 4
EN

Stack Overflow用户

发布于 2011-03-14 17:59:47

Web API可能是WCF中REST开发的未来。这只是一个预览,在最终发布之前(可能是在.NET框架的下一个版本中)可能会有显着的变化。因此,如果您想要构建生产REST服务,您应该使用webHttpBinding。

关于Web的可用信息可以在例如.NET Connected Framework team's blog和您提到的网站上找到。它是对当前REST API的简化和扩展。

票数 2
EN

Stack Overflow用户

发布于 2013-10-22 05:08:00

Web API提供了一个基于HTTP的REST友好API。Web使用了MVC的模式,这对于ASP.NET MVC开发人员来说是非常熟悉的。Web API可以利用HTTP作为应用层协议的功能,以多种表示形式(XML、JSON、HTML等)返回资源。根据客户端的请求头。

另一方面,WCF webHttpBinding使用了WCF的模式,并将更多地吸引WCF开发人员- ServiceContracts,OperationContracts,全面(或超重,取决于您如何看待它,配置文件),在IIS之外自我托管的能力。

我喜欢Web API的一个原因是能够使用动态类型来摆脱类型系统的限制。我也喜欢Web中的默认异常行为-对比WCF,其中,默认情况下,异常冒泡为HTTP500+ webHttpBinding有效负载(yuk!)。

在这里有两种优秀的技术可供选择是件很好的事情。我不会说Web比WCF“更新”或“更好”,因为这意味着它是一种替代技术,WCF webHttpBinding是遗留的,我不相信这是真的。

我最近选择使用WCF来公开现有webHttpBinding服务的JSON API。我认为这是一个很好的选择,因为它符合现有解决方案的风格,并将所需的更改量降至最低。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5296936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档