Webservices与WCF的区别

3

我正在设计一个asp.net应用程序(.net 4框架),想知道使用Web服务和WCF技术的优缺点和最佳实践是什么?此应用程序最终将被外部客户用于消费数据。

什么情况下会使用Web服务,什么情况下会使用WCF? 它们之间哪个更具可扩展性?


1
WCF 就是 Web服务 - 而且还有更多功能。所以你的问题应该是WCF vs. ASMX (ASP.NET Web服务) - 这样才有意义。此外,这个问题在SO上已经被广泛讨论过了 - 只需搜索“ASMX vs WCF”,你就会找到大量的帖子... - marc_s
1
可能是使用WCF而不是ASMX Web服务的好处是什么?的重复问题。 - marc_s
为什么我不能删除这个问题? - user279521
2个回答

2
我会使用WCF,因为它可以完成Web服务(asmx)所能做的一切,并且让您具备更大的扩展灵活性。
通过Visual Studio,您可以像设置ASMX服务一样轻松地设置简单的WCF服务。因此,如果您对这两种技术都不熟悉,我建议您花时间学习WCF。
根据您特定的用例,您还可能需要查看WCF数据服务(.NET4)和实体框架。它基本上提供了一个很好的API,您可以使用它来通过http/https消耗数据库。WCF数据服务的优美之处在于,您最终只需编写很少的代码即可访问数据,而且可以专注于消耗数据。
WCF入门--http://msdn.microsoft.com/en-us/library/ms734712.aspx WCF数据服务--http://msdn.microsoft.com/en-us/data/ee720180.aspx

0

什么是Webservice?

Webservice使用SOAP(简单对象访问协议),用于连接使用不同技术的Web应用程序,并且可以连接托管在不同类型服务器上的应用程序。

Webservice的缺点

Webservice仅使用HTTP协议。它只提供单向通信,而不是半双工和全双工通信。它们通过HTTP以无状态方式工作,并在像IIS这样的Web服务器内托管。

WCF服务的优势

WCF服务支持HTTP、TCP、IPC甚至消息队列进行通信。我们可以使用服务器端脚本(ASP.NET)、JavaScript对象表示法(JSON)甚至REST(表现层状态转移)来消耗Web服务。它可以配置为具有单向、请求-响应或全双工通信。这些可以以多种方式托管在IIS内部、Windows服务内部甚至自我托管。

半双工

半双工数据传输意味着数据可以在信号载波上双向传输,但不能同时进行。半双工传输意味着双向线路(可以在两个方向上传输数据)。
它们以无状态的方式通过HTTP工作,并托管在像IIS这样的Web服务器中。
全双工数据传输意味着数据可以同时在信号载波上双向传输。全双工传输必然意味着双向线路(可以在两个方向移动数据)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接