繁体   English   中英

WCF,Rest和SOAP之间是什么关系?

[英]What is the relationship between WCF, Rest and SOAP?

WCF和REST&SOAP之间是什么关系? WCF是基于其中一种技术(REST或SOAP)还是一种单独的技术?

WCF是用于构建分布式系统的消息传递框架。 分布式系统在大多数情况下只是Web服务的代名词。

这意味着您可以使用C#(或任何.NET语言)编写方法,然后对代码应用一堆配置,使其他人可以访问您的代码,并将您的代码转换为Web服务。

那些“配置束”是WCF。 如果围绕C#代码设置WCF配置以将其公开为RESTful服务,则WCF允许您使用REST将方法公开给其他计算机或应用程序。 或者,您可以轻松地采用相同的C#方法并通过SOAP协议使它们可用。

如果您有一个名为“ GetData()”的方法,则可以设置WCF配置,以使该方法在IIS托管的服务中可用。 当某人调用该服务时,他们可以向http://www.yourdomain.com/SomeService/GetData发送HTTP GET请求,并且GetData方法将接收到该消息并发送回响应。 通过HTTP发出GET请求时,您正在使用REST。 REST与HTTP作为传输协议紧密相关。 REST也没有标准的消息格式。 无论您想发送HTTP消息是什么,但是您想发送它都可以。 您可以发送XML,JSON或纯文本。 您也可以使用POST或GET或PUT或任何HTTP动词。

使用SOAP,您可以使用任何传输协议将您的消息发送到服务-您无需绑定到HTTP。 SOAP消息被设计为与传输无关。 它们用XML编码,并且XML在信封节点内部始终具有头和主体节点。 围绕SOAP的Web标准很多,例如,用于将安全性,会话和其他功能放入消息头的标准。 此外,使用SOAP,您将获得一个WSDL,在这里我将不做解释,但是它使客户端更容易进行编程。 大多数编程语言都有一种采用WSDL并将其转换为强类型方法和对象的方法,以便您的服务易于调用。

REST在Internet上非常流行,并且具有与Internet一样的可伸缩性(即,非常可伸缩)。 SOAP在企业对企业应用程序中非常流行。

WCF并不是自动REST或SOAP,但是您可以那样做。 您需要的是一个教程:

世界足球联合会

http://www.codeproject.com/Articles/406096/A-beginners-tutorial-for-understanding-Windows

休息

http://rest.elkstein.org/

这里还有一些其他有趣的东西:

WCF-REST / SOAP

https://msdn.microsoft.com/zh-CN/library/hh323708(v=vs.100).aspx

WCF和REST

https://msdn.microsoft.com/zh-CN/library/ee391967.aspx

或者,您也可以自己进行google / bing / metacrawler / altavista搜索.....

MSDN

WCF编程模型提供了各种功能,例如SOAP服务,Web HTTP服务,数据服务,富Internet应用程序(RIA)服务和工作流服务。 SOAP服务支持使用Java构建的系统,其他平台以及使用Microsoft®支持的消息传递标准的系统之间的互操作性。 SOAP服务还支持HTTP,TCP,命名管道和MSMQ等传输。 Web HTTP服务和数据服务均支持REST。 Web HTTP服务使您可以控制服务位置,请求和响应,格式和协议。 数据服务使您可以将数据模型和数据驱动的逻辑公开为服务。 WCF还包括两个编程模型:服务模型和通道模型。 服务模型提供了一个框架,用于定义数据合同,服务合同和服务行为。 通道模型支持指定格式,传输和协议。

SOAP和REST服务都可以为Web应用程序提供功能,并且都可以用于在Web的分布式环境中交换信息。 每个人都有自己的优点和局限性。

虽然,这个问题有几个很好的答案,只是花了我2美分,以尝试让WCF SOAP REST的新手- 全面服务,使他们更容易理解。

对于WCF是否同时支持RESTSOAP ,我们感到困惑 而且,通常情况下,我们只看到有关SOAPREST的通用定义。 因此,我们需要Microsoft的某些东西才能使我们感觉真相:)这是Microsoft MSDN的屏幕截图:

MSDN文章网址 在此处输入图片说明

因此, 是的 ,WCF同时支持。

在OP中:

  • SOAP服务:
    WCF编程模型中的VC支持使用Java,其他平台构建的系统以及使用Microsoft®支持的消息传递标准的系统之间的互操作性。 这些还支持诸如HTTP,TCP,命名管道和MSMQ的传输。
  • Web HTTP服务
    在WCF中,编程模型支持REST [来源: MSDN ]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM