C#SOAP vs RESTful服务

时间:2013-09-02 10:13:02

标签: web-services rest c#-4.0 soap

如何在c#中创建Restful服务。

我有很多谷歌,我开始知道肥皂重量很重,REST重量很轻

请分享使它们重量轻和重量的原因。

此外,我需要在SOAP和Restful服务中提供相同服务的示例。

提前感谢。

1 个答案:

答案 0 :(得分:5)

SOAP - 是用于在不同环境之间交换消息的SOA标准。所有消息都具有相同的结构,在其基本视图中代表包含标题和正文的包络。标题通常带有描述性信息,例如调用方法的名称。正文通常用于携带数据本身,这可能是执行方法的参数。 SOAP消息示例:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
  <soap:Header>
  </soap:Header>
  <soap:Body>
    <m:GetStockPrice xmlns:m="http://www.example.org/stock">
      <m:StockName>IBM</m:StockName>
    </m:GetStockPrice>
  </soap:Body>
</soap:Envelope>

REST - 是另一种交换消息的标准,它基于HTTP Web方法(GET,POST,DELETE,PUT和HEAD)。它重量轻,因为它不包含信封组件。通常它只有明确的数据,如:

 <GetStockPrice>
      <StockName>IBM</StockName>
 <GetStockPrice>

SOAP over REST的主要优点,它是协议独立的,可以通过TCP,SMTP,MQ使用。

在此链接上创建REST服务有一个很好的循序渐进常见问题解答:http://www.codeproject.com/Articles/105273/Create-RESTful-WCF-Service-API-Step-By-Step-Guide