这篇讨论两个话题:
勇哥注:
这个系列借着盘点WCF知识点的时机,顺便验证一下勇哥的一个新想法: 打造一个内网的Halcon视觉处理中心节点。
这个中心节点是运行在全网络中算力最强的机器上,其它若干客户端通过网络以事务请求的方式让中心结点进行计算,
勇哥注:
wcf可以看作是webservice的技术扩展,但是不能简单的认为wcf无论什么场合都能替代webservice。
所以我们还是有必要多了解一下webservice。
WCF(Windows Communication Foundation)在技术上可以看作是对WebService的一种扩展和替代, 但它并不完全等同于或完全取代WebService。 WCF是微软为构建面向服务的应用程序而提供的一个统一的编程框架, 它整合了.NET Remoting、ASP.NET Web Services、消息队列(MSMQ)和Windows Communication Services(WCS)等技术, 并提供了统一的编程模型、通信机制和安全性模型。 WebService是一种基于XML和HTTP的、平台无关的、自包含的、自描述的、模块化的应用程序, 可以执行从简单的请求到复杂商务处理的任何功能。WebService的主要目标是跨平台的可互操作性, 只要使用XML作为标准的数据交换格式,任何支持这些标准的应用程序都可以相互通信。 WCF在功能性和灵活性上比WebService更为强大,它支持更多的协议(如TCP、HTTP、命名管道、MSMQ等)、 更多的数据格式(如XML、JSON等)和更多的安全性选项。 此外,WCF还提供了更丰富的服务契约和消息契约定义方式,以及更强大的服务宿主和服务发现机制。 然而,WebService也有其独特的优势,例如其跨平台性和简单的实现方式。在某些场景下, WebService可能仍然是更好的选择。 因此,WCF和WebService并不是完全替代的关系,而是根据具体的需求和场景来选择使用哪种技术。 在某些情况下,WCF可能更适合用于构建复杂、高性能、高安全性的面向服务的应用程序; 而在其他情况下,WebService可能更适合用于简单的跨平台通信和数据交换。
webapi和wcf的比较
(一)webapi的特点
最明显的特点是它是一种资源为导向的通讯方式。
使用标准HTTP动词如GET、POST、PUT、DELETE等,适用于所有的资源的增删改查操作,使得使用变得简单明了。
下面的wcf配置中,有两个终结点,为什么配置成这样呢?
<service name="SMotionHardwareLayer.MotionCardRes.DMC3400A.AxisRealization" behaviorConfiguration="Dmc3000IAxisAPI"> <host> <baseAddresses> <add baseAddress="net.pipe://localhost/Dmc3000IAxisAPI"/> </baseAddresses> </host> <endpoint address="" binding="netNamedPipeBinding" bindingConfiguration="" contract="SMotionHardwareLayer.HardwareLayerService.IAxis"/> <endpoint address="mex" binding="mexNamedPipeBinding" contract="IMetadataExchange"/> </service>
SvcUtil.exe是一个VS命令行工具,该工具位于:C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin 或 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\一般情况下我们将SvcUtil.exe添加到VS开发工具中方便以后的运用(也可直接使用该命令行工具)。
Powered By Z-BlogPHP 1.7.3
Copyright www.skcircle.com Rights Reserved.