WCF是用于构建分布式系统的消息框架。分布式系统通常就是指Web服务。
这意味着您可以使用C#(或任何.NET语言)编写方法,然后应用一堆配置来使您的代码对其他人可访问,并将您的代码转化为Web服务。
"一堆配置"就是WCF。如果您围绕您的C#代码设置WCF配置以将其公开为RESTful服务,则可以使用WCF将您的方法公开给其他计算机或应用程序。或者,您也可以轻松地使用SOAP协议提供相同的C#方法。
如果您有一个名为“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动词。http://www.codeproject.com/Articles/406096/A-beginners-tutorial-for-understanding-Windows
REST
以下是其他有趣的内容:
WCF - REST / SOAP
https://msdn.microsoft.com/en-us/library/hh323708(v=vs.100).aspx
WCF和REST
https://msdn.microsoft.com/en-us/library/ee391967.aspx
或者你可以自己使用谷歌/必应/元搜索引擎/Altavista进行搜索......
来自MSDN:
WCF编程模型提供了各种功能,例如SOAP服务、Web HTTP服务、数据服务、丰富的互联网应用程序(RIA)服务和工作流服务。SOAP服务支持使用Java、其他平台构建的系统以及使用Microsoft®支持的消息标准的系统之间的互操作性。SOAP服务还支持传输,如HTTP、TCP、命名管道和MSMQ。Web HTTP服务和数据服务都支持REST。Web HTTP服务使您能够控制服务位置、请求和响应格式和协议。数据服务使您能够将数据模型和数据驱动逻辑公开为服务。WCF还包括两个编程模型:服务模型和通道模型。服务模型提供定义数据契约、服务契约和服务行为的框架。通道模型支持指定格式、传输和协议。
SOAP和REST服务都可以为Web应用程序提供功能,并且都可以用于在Web的分布式环境中交换信息,它们各自具有优点和局限性。
虽然这个问题已经得到了几个很好的答案,但我想加入我的两分钱,为新手们在理解 WCF、vsSOAP、vsREST-full服务方面提供一些帮助。
我们会有疑惑:WCF是否支持REST和SOAP?通常,我们只看到 SOAP 和 REST 的通用定义。因此,我们需要一些来自微软的东西来让我们感受到真相:)所以这里是来自 Microsoft MSDN 的截图:
所以,是的,WCF支持两种。
与OP相关: