31

使用 rest 服务与 wcf 服务的优缺点是什么?

我想知道使用哪种类型,我有兴趣找到某种比较。

4

3 回答 3

35

休息是一种通过互联网进行交流的方式。这是选择地址作为方法位置并返回 HTML 标准数据(当然是 javascript、css、html)的一个非常基本的过程。

WCF 是一个 .net 库,用于让两个程序使用 SOAP 相互通信。其中包括两个非常熟悉的程序交易类信息。

鉴于 Rest 是一个过程,而 WCF 是一个类库,一个更好的问题可能是“Rest vs Soap”。

底线是,如果您需要两个应用程序进行交谈,您可能想要使用 WCF。即使这些应用程序都不是用 .net 编写的。但是,如果您需要网络技术访问信息(通常 javascript 访问是通过这种方式完成的),您将需要使用 Rest。

只是一个快速的旁注,WCF 也很好地休息,所以你真的不会出错。

于 2012-04-28T20:55:06.737 回答
13

你在问一个关于苹果和橘子的问题。REST 是用于创建 Web 服务的模式。我不是这方面的专家,但您可以在Wikipedia上找到大量详细信息。WCF 是一种用于创建 Web 服务的 Microsoft 技术(主要使用SOAP,尽管它是如此可配置,您也可以在其上执行 REST - 请参阅ASP.Net WebAPI)。

WCF 的优点:

  1. 非常可配置 - 如果您能想象到,WCF 可能可以做到。
  2. 如果您坚持使用 Microsoft 堆栈,则易于使用。Visual Studio 为您完成 90% 的工作。

WCF 的缺点:

  1. 非常可配置 - 有时让它完全按照你的意愿去做可能会有点痛苦,特别是如果你是新手。
  2. 不同技术栈之间的通信可能会出现一些问题。我听说过当指向 WCF 服务时,Java 服务会卷曲而死。据我所知,这是 Java 库的问题,而不是 WCF,但谁知道呢。

这就是现在想到的所有内容,但希望这能给您对 WCF 的良好印象。

于 2012-04-27T21:18:05.003 回答
7

如果您绝对确定 HTTP 是您要使用的协议,并且您希望将其作为“应用程序”协议,而不仅仅是“传输”协议,那么就像 ASP.NET Web API 之类的协议。

如果您为数据中心中的服务器构建服务以相互通信,那么请认真考虑 WCF。

是否做 REST 是一个完全不同的问题。这项服务会持续多年吗?它会有很多不同的客户吗?其中一些客户会不受您的控制吗?如果您的回答是肯定的,那么可能值得研究 REST 约束可以带来哪些好处。

于 2012-04-28T17:00:54.107 回答