.NET Remoting与Socket、Webservice和WCF的比较及优势 (转)

1:Socket VS Remoting

使用socket无疑是效率最高的。但是,在复杂的接口环境下,Socket的开发效率也是最低的。故在兼顾开发效率的情况下,可以使用Remoting来代替Socket开发。并且:
   
1、Tcp通道的Remoting速度非常快。
   
你可以通过端口查看工具,发现remoting比直接socket传输的内容,应该是属于同一个数量级的。我的另一个担心是,大客户端数量的情况下,remoting传输效率会不会很低,结果经过现场测试,同时对300个客户端进行数据通信,不存在信息丢失情况。
   
2、虽然是远程的,但是非常接近于本地调用对象。    也就是完全符合面向对象思想。
   
3、可以做到保持对象的状态
   
直接使用Socket传输机制,我们必须花大量的精力来处理异常、断网、死机等现象,使用remoting,这些工作会大大简化。

2:Remoting vs Webservice 

1、webservice在framework2.0状态下只能寄宿于IIS等应用服务器中。微软直到3.0才提供了servicehost来寄宿
webservice,这就极大地限制了webservice在使用中的灵活性。在framework2.0环境下,如果你有一个应用要脱离IIS而存在,就不得不抛弃webservice。(除非你想代码实现一个WEB应用服务器)

2、Remoting可寄宿在你自己的代码中,也可寄宿在windows服务及IIS中。最大程度的提供了开发和部署的灵活性。

3、Remoting在使用http通道的时候,也如Webservice一样支持穿透路由。

4、Remoting与websercie相比,提供双向通信。哪怕是将Remoting寄宿在IIS中,也支持。

5、webservice客户端自动生成的代理类比较复杂。而Remoting一般来说,都是手动编写客户端代码。

  6、将Remoting采用TCP通讯,比Web Service高效

7、当然,webservice最主要优势是,它是一个行业标准,而Remoting只是微软自己内部的标准,如果你的应用要脱离微软的平台,就只能使用webservice了。

3:和WCF的比较

  WCF是一个技术集合体,WCF包含Remoting、Web Service等具体的技术。

一下是WCF的简介:WC就是微软对于分布式处理的编程技术的集大成者,它将DCOM、Remoting、Web
Service、WSE、MSMQ集成在一起,从而降低了分布式系统开发者的学习曲线,并统一了开发标准。
    1、统一性

  前面已经叙述,WCF是对于ASMX,.Net Remoting,Enterprise
Service,WSE,MSMQ等技术的整合。由于WCF完全是由托管代码编写,因此开发WCF的应用程序与开发其它的.Net应用程序没有太大的区别,我们仍然可以像创建面向对象的应用程序那样,利用WCF来创建面向服务的应用程序。

  2、互操作性

  由于WCF最基本的通信机制是SOAP,这就保证了系统之间的互操作性,即使是运行不同的上下文中。这种通信可以是基于.Net到.Net间的通信。

   可以跨进程、跨机器甚至于跨平台的通信,只要支持标准的Web
Service,例如J2EE应用服务器(如WebSphere,WebLogic)。应用程序可以运行在Windows操作系统下,也可以运行在其他的
操作系统,如Sun Solaris,HP Unix,Linux等等。

  3、安全与可信赖

  WS-Security,WS-Trust和WS-SecureConversation均被添加到SOAP消息中,以用于用户认证,数据完整性验证,数据隐私等多种安全因素。

   在SOAP的header中增加了WS-ReliableMessaging允许可信赖的端对端通信。而建立在WS-Coordination和WS-
AtomicTransaction之上的基于SOAP格式交换的信息,则支持两阶段的事务提交(two-phase commit
transactions)。

  上述的多种WS-Policy在WCF中 都给与了支持。对于Messaging而言,SOAP是Web
Service的基本协议,它包含了消息头(header)和消息体(body)。在消息头中,定义了WS-Addressing用于定位SOAP消息的
地址信息,同时还包含了MTOM(消息传输优化机制,Message Transmission Optimization Mechanism)。

  4、兼容性

  WCF充分的考虑到了与旧有系统的兼容性。安装WCF并不会影响原有的技术如ASMX和.Net
Remoting。即使对于WCF和ASMX而言,虽然两者都使用了SOAP,但基于WCF开发的应用程序,仍然可以直接与ASMX进行交互。

时间: 2024-08-27 03:19:09

.NET Remoting与Socket、Webservice和WCF的比较及优势 (转)的相关文章

现有分布式技术(socket、.net remoting、asp.net webservice、WSE、ES)和wcf的比较及优势

1:socket VS remoting 使用socket无疑是效率最高的.但是,在复杂的接口环境下,socket的开发效率也是最低的.故在兼顾开发效率的情况下,可以使用remoting来代替socket开发.并且:    1.Tcp通道的Remoting速度非常快.    你可以通过端口查看工具,发现remoting比直接socket传输的内容,应该是属于同一个数量级的.我的另一个担心是,大客户端数量的情况下,remoting传输效率会不会很低,结果经过现场测试,同时对300个客户端进行数据通

webservice与WCF

可以这样简单理解:WCF是微软的基于.net平台的一种分布式服务框架.wcf和webservice都是SOA的实现方式.wcf是微软特有的.webservice则是通用的一种服务.wcf是webservice的一个细化. Web Service:严格来说是行业标准,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术. 它有一套完成的规范体系标准,而且在持续不断的更新完善中. 它使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键).微软的Web服务实现称为ASP

比一比 WebService和WCF

 通过做项目,对WCF有了一个全新的认识.那么他和WebService又有什么区别,他俩哪个更好呢?应该是各有各的好处吧. 什么是WCF? .NET平台下的框架产品,由微软开发的一系列支持数据通信的应用程序框架,是Windows平台上开发分布式应用最佳的实践方式. 简而言之,就是为构建面向服务的应用提供的分布式编程框架,使用该框架,开发人员可以构建跨平台.安全.可靠和支持事务处理的企业级互联应用解决方案. WCF的基本概念是以契约来定义双方沟通的协议,合约必须要以接口的方式来体现,实际的服务

MVC 中ajax 调用Webservice 或WCF 问题

添加一个MVC 项目 在里面添加一个 Webservice 然后去浏览 这个Webservice1.asmx ,然后 点击默认的 Hello Word 方法,点 “调用”. 无法找到资源. 知道问题一定在 路由上,因为找不到这个路由.在MVC 中请求都会找路由表,然后按路由匹配,由于找不到对应的路由所以报 "无法找到资源”. 然后我在路由规则里加上:constraints: new { controller = @"^(?!webservic)\w*$" }// 我理解是表示

GPS部标平台的架构设计(九)-GPS监控客户端设计

交通部的部标过检,所有的测试都是从客户端发起的,也是在客户端体现的,在客户端承载了部标标准所要求的所有的功能,是整个部标平台当中工作量最大的部分,也是最繁琐的部分. 客户端设计面临两个问题: 1.基于CS还是基于BS,这是个问题 萝卜白菜各有所爱,客户要什么,我们就开发什么,从客户来讲,更适应桌面客户端,没有浏览器的七七八八问题,速度感觉上也比网页的快,操作方便.当然网页客户端也有很大的优势,部署和维护方便,不需要开发升级系统. 2.与服务端的交互通信,采用Socket, WebService还

WCF、Net remoting、Web service概念及区别

Windows通信基础(Windows Communication Foundation,WCF)是基于Windows平台下开发和部署服务的软件开发包(Software Development Kit,SDK). WCF就是微软对于分布式处理的 编程技术的集大成者,它将DCOM.Remoting.Web Service.WSE.MSMQ集成在一起,从而降低了分布式系统开发者的学习曲线,并统一了开发标准. WCF是建立在.Net Framework 2.0基础之上的,包含在.NET 3.0/3.5

WCF与WebService的区别

1.WebService:严格来说是行业标准,不是技术,使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键).微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互.WSDL来实现服务接口相关的描述.此外Web services 可以注册到UDDI中心.供其客户查找使用.     后来微软做了ASP.NET Web Service的安全,性能,数据加密.解密,托管宿主等多方面的扩展,称为WSE系列,这个是过度

WCF和Socket

WCF的全称是:Windows Communication Foundation.它是建立在Web Service架构上的一个全新的通信平台.它使用相同的基础结构和 API 来创建应用程序,这些应用程序可与同一计算机系统上或驻留在另一家公司内并通过 Internet 访问的系统上的其他应用程序进行通信.从本质上来说,它是一套软件开发包,是微软公司推出的符合SOA思想的技术框架.WCF为程序员提供了丰富的功能,并且WCF对产业中的标准协议进行了封装和定义,它把程序员从繁琐的通信.格式编码中解放出来

【WCF--初入江湖】01 WCF编程概述

01 WCF编程概述 SOA的优点 1.服务独立于平台和工作环境.服务并不关心自己所处的环境,也不关心与之进行通信的服务所处的    环境. 2.服务相互隔离. 3.服务对协议.格式和传输中立. 4.服务可以扩展. 5.服务行为不受限制. 实现SOA思想的技术: 1.webService 2.WCF 什么是WCF MSDN上的定义: WCF为.NetFramework 提供了一个基础,使其能够编写代码,以在组件.应用程序.系统之间进行通信.WCF的设计遵循的是面向服务的原则.服务是指可以通过消息