RPC(Remote Procedure Call)----远程过程调用,它是一种通过网络从远程计算机程序上请求服务,
而不需要了解底层网络技术的协议。
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。
web service:
Web Service:严格来说是行业标准,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术。
ASP.NET Web Service:微软提供了Web服务的开发框架,属于ASP.NET Framework的一部分,但是支持早起的WS规范。
比如SOAP1.1。
wcf:
WCF 是一个分布式应用的开发框架,属于特定的技术,或者平台。既不是标准也不是规范。
WCF其实一定程度上就是ASP.NET Web Service,因为它支持Web Service的行业标准和核心协议,
因此ASP.NET Web Service和WSE能做的事情,它几乎都能胜任,跨平台和语言更不是问题
thrift:
thrift是一种可伸缩的跨语言服务的软件框架。它拥有功能强大的代码生成引擎,无缝地支持C++,C#,Java,
Python和PHP和Ruby。
.net Remoting:
.net Remoting 是在DCOM等基础上发展起来的一种技术,它的主要目的是实现跨平台、跨语言、
穿透企业防火墙,这也是他的基本特点,
它支持HTTP以及TCP信道,而且它不仅能传输XML格式的SOAP包,也可以传输传统意义上的二进制流,这使得它变得效率更高
也更加灵活。而且它不依赖于IIS.
所以从这些方面上来讲WebService其实上是.net Remoting的一种特例。
从微软的产品角度来看,可以说Remoting就是DCOM(分布式组件对象模型,分布式组件对象模式)的一种升级,
它改善了很多功能,并极好的融合到.Net平台下。
Remoting的通道主要有两种:Tcp和Http。以及不常用的IPC通道。
HttpWebRequest
这是微软自带的远程http调用库
HttpClient
这是微软自带的异步远程http调用库