休息与Wcf的利弊

时间:2012-04-27 21:02:39

标签: wcf rest

使用休息服务与wcf服务有什么优缺点?

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

3 个答案:

答案 0 :(得分:28)

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

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

看到休息是一个过程,而WCF是一个类库,更好的问题可能是“Rest vs Soap”。

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

尽管如此,WCF也做得很好,所以你真的不会出错。

答案 1 :(得分:11)

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

WCF的优点:

  1. 非常可配置 - 如果您能想象它,WCF可能会这样做。
  2. 如果您坚持使用Microsoft堆栈,则易于使用。 Visual Studio为您完成了90%的工作。
  3. WCF的缺点:

    1. 非常可配置 - 有时候让它完全按照你的意愿去做可能会有点痛苦,特别是如果你是新手的话。
    2. 不同技术堆栈之间的通信可能存在一些问题。我听说过Java服务在指向WCF服务时卷曲和死亡。据我所知,这是Java库的问题,而不是WCF,但谁知道肯定。
    3. 这就是现在想到的一切,但希望这能让你在WCF上留下一个不错的印象。

答案 2 :(得分:6)

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

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

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