休息与Wcf的利弊

zac*_*ary 25 rest wcf

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

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

R E*_*ond 28

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

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

看待休息是一个过程,而WCF是一个类库,更好的问题可能是"Rest vs Soap".

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

只是一个快速的注意事项,WCF也做得很好,所以你真的不会出错.

  • 我真的不喜欢这里的第一段.您可以返回任何可能包含js,html或css代码的任意资源. (3认同)

Eri*_*res 11

你问的是关于苹果和橘子的问题.REST是用于创建Web服务的模式.我不是它的专家,但你可以在维基百科上找到很多细节.WCF是一种用于创建Web服务的Microsoft技术(主要使用SOAP,尽管它是可配置的,您也可以在其上执行REST - 请参阅ASP.Net WebAPI).

WCF的优点:

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

WCF的缺点:

  1. 非常可配置 - 有时候让它完全符合您的要求可能会有点痛苦,特别是如果您不熟悉它.
  2. 不同技术堆栈之间的通信可能存在一些问题.我听说过Java服务在指向WCF服务时卷曲和死亡.据我所知,这是Java库的问题,而不是WCF,但谁知道肯定.

这就是现在想到的一切,但希望能给你一个体面的印象.

  • 在ASP.Net WebAPI之前,您可以使用非常少的配置创建WCF休息服务...搜索System.ServiceModel.Activation.WebServiceHostFactory. (2认同)

Dar*_*ler 6

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

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

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