REMOTING和WEBSERVICE有什么区别

其实现的原理并没有本质的区别,在应用开发层面上有以下区别:
1、Remoting可以灵活的定义其所基于的协议,如果定义为HTTP,则与Web Service就没有什么区别了,一般都喜欢定义为TCP,这样比Web Service稍为高效一些
2、Remoting不是标准,而Web Service是标准;
3、Remoting一般需要通过一个WinForm或是Windows服务进行启动,而Web Service则需要IIS进行启动。
4、在VS.net开发环境中,专门对Web Service的调用进行了封装,用起来比Remoting方便

我建议还是采用Web Service好些,对于开发来说更容易控制
Remoting一般用在C/S的系统中,Web Service是用在B/S系统中
后者还是各语言的通用接口
相同之处就是都基于XML

为了能清楚地描述Web Service 和Remoting之间得区别,我打算从他们的体系结构上来说起: 
Web Service大体上分为5个层次: 
1. Http传输信道 
2. XML的数据格式 
3. SOAP封装格式 
4. WSDL的描述方式 
5. UDDI

总体上来讲,.NET 下的 Web Service结构比较简单,也比较容易理解和应用: 
一般来讲在.NET结构下的WebService应用都是基于.net framework以及IIS的架构之下,所以部署(Dispose)起来相对比较容易点. 
从实现的角度来讲,

首先WebService必须把暴露给客户端的方法所在的类继承于:System.Web.Services.WebService这个基类 
其次所暴露的方法前面必须有[WebMethod]或者[WebMethodAttribute]

WebService的运行机理 
首先客户端从服务器的到WebService的WSDL,同时在客户端声称一个代理类(Proxy Class) 
这个代理类负责与WebService服务器进行Request 和Response 
当一个数据(XML格式的)被封装成SOAP格式的数据流发送到服务器端的时候,就会生成一个进程对象并且把接收到这个Request的SOAP包进行解析,然后对事物进行处理,处理结束以后再对这个计算结果进行SOAP包装,然后把这个包作为一个Response发送给客户端的代理类(Proxy Class),同样地,这个代理类也对这个SOAP包进行解析处理,继而进行后续操作。

这就是WebService的一个运行过程。

下面对.net Remoting进行概括的阐述: 
.net Remoting 是在DCOM等基础上发展起来的一种技术,它的主要目的是实现跨平台、跨语言、穿透企业防火墙,这也是他的基本特点,与WebService有所不同的是,它支持HTTP以及TCP信道,而且它不仅能传输XML格式的SOAP包,也可以传输传统意义上的二进制流,这使得它变得效率更高也更加灵活。而且它不依赖于IIS,用户可以自己开发(Development)并部署(Dispose)自己喜欢的宿主服务器,所以从这些方面上来讲WebService其实上是.net Remoting的一种特例。
Remoting的两种通道
  Remoting的通道主要有两种:Tcp和Http。在.Net中,System.Runtime.Remoting.Channel中定义了 IChannel接口。IChannel接口包括了TcpChannel通道类型和Http通道类型。它们分别对应Remoting通道的这两种类型

1. remoting 是MarshByReference的,可以传变量的引用,直接对服务器对象操作。速度快,适合intranet(企业内部互联网)。
 webservice 是MarshByValue的,必须传对象的值。速度慢,可以过FIREWALL,配置比较简单,适合internet(因特网)。

2. 一般来说,remoting是和平台相关的,需要客户和服务器都是.NET,但可配置特性比较好,可以自定义协议。web service可以做到跨平台通信,但必须采用SOAP协议。

3. Soap消息有rpc和文档两种样式。 文档样式的body元素中包含一个或多个元素,可以是任何内容,只要接受者理解就行了。rpc样式的的body元素中包含调用的方法或远程过程的名称,以及代表方法参数的元素。

.net对这两种样式的实现就是web service 和remoting .

概括的说Remoting与Web Services的区别是:
(1)既支持TCP信道又支持HTTP信道,传输速度快
(2)即可传输XML的SOAP包又可传输二进制流,效率高
(3)Remoteing主要用于C/S结构项目
(4)不一定要依赖IIS服务器

转载于:https://www.cnblogs.com/lanru/archive/2010/08/04/1792174.html

Remoting和Webservice有什么区别相关推荐

  1. remoting和webservice的区别

    简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用.(10) 答:WS主要是可利用HTTP,穿透防火墙.而Remoting可以利用TCP/IP,二进 ...

  2. .NET 的 WCF 和 WebService 有什么区别?(转载)

    .NET 的 WCF 和 WebService 有什么区别?(转载) [0]问题: WCF与 Web Service的区别是什么? 和ASP.NET Web Service有什么关系? WCF与ASP ...

  3. .net remoting 与webservice

    目录(?)[+] 浅谈net remoting 与webservice NET Remoting 2Web Service 3NET Remoting与Web Service比较 浅谈.net rem ...

  4. Remoting 与 Webservice 的区别

    其实现的原理并没有本质的区别,在应用开发层面上有以下区别: 1.Remoting可以灵活的定义其所基于的协议,如果定义为HTTP,则与Web Service就没有什么区别了,一般都喜欢定义为TCP,这 ...

  5. 【转】浅谈.net remoting 与webservice

    1. .NET Remoting .NET Remoting是微软随.NET推出的一种分布式应用解决方案,被誉为管理应用程序域之间的 RPC 的首选技,它允许不同应用程序域之间进行通信(这里的通信可以 ...

  6. 浅谈.net remoting 与webservice

    [转] .NET Remoting .NET Remoting是微软随.NET推出的一种分布式应用解决方案,被誉为管理应用程序域之间的 RPC 的首选技,它允许不同应用程序域之间进行通信(这里的通信可 ...

  7. .net remoting与web service的区别

    在网上看几篇这样的文章,现在来总结下. .net remoting 一定要两通信端都要求系统带有net framework,否则不能运行..net remoting 可注册tcp进行二进制传输信息或通 ...

  8. webservice和ajax区别,WebService简单介绍

    提醒: 从实现效果来看,webservice和servlet是很相似的. 重大提示:创建一个Web Project也能有相当效果.其实这个就是Ajax的调用. 区别: 1.请求:servlet是接受简 ...

  9. http接口和webservice接口的区别

    简单说 httpservice通过post和get得到你想要的东西webservice就是使用soap协议得到你想要的东西,相比httpservice能处理些更加复杂的数据类型http协议传输的都是字 ...

最新文章

  1. javascript模块化、模块加载器初探
  2. VIRTUAL COMMUNITY INFORMATICS
  3. 二维已经 OUT 了?3DPose 实现三维人体姿态识别真香 | 代码干货
  4. Flex学习笔记(1)——入门,HelloFlex
  5. Android 短信数据库重要table字段解释
  6. 计算机科学与技术专业分多少学科,计算机科学与技术专业,电子科学与技术有什么分别?...
  7. 微信服务号/企业号防止AccessToken过期的操作指南深入浅出
  8. 计算机台账管理需求分析,结合工作经验研究数据中心机房管理统计的需求和实方式论文...
  9. 校准证书中的修正值、修正因子,你真的会用吗?
  10. Office 365网络链接概览(三)--专线express route
  11. Latex如何写参考文献及修改顺序
  12. Mr.张小白(案例:基于Spring MVC实现后台登陆系统验证)
  13. 2021年“上海区块链周”参会随感(二)2021-04-12
  14. Java中就什么是映射的简单理解
  15. NeoCognitron
  16. IOTE 2019物联网嘉年华在深圆满落幕
  17. 『摄影知识』自然光的应用
  18. 抖音图像修复背后技术——CVPR2021多阶段图像修复框架(附github源码下载)
  19. 海康摄像头监控视频播放详解
  20. CK-S650系列HDX半双工RF玻璃管转发器阅读器|读写器之SECS协议验证软件使用说明

热门文章

  1. startservice方式启动服务
  2. android 连接mysql orm_Android ORM框架 GreenDao 的使用详解
  3. 前端性能优化-HTTP添加Expires头和Cache-Control
  4. 网站外链发布的细节注意事项!
  5. 网站优化之如何才能防止域名被恶意指向?
  6. android 自定义天气特效,《Android自定义控件》WindMillView,仿华为天气风车效果
  7. qt linux mac,MacOS下Qt Installer Framework使用教程【个人经验】
  8. ajax请求的步骤,ajax请求的五个步骤
  9. 计算机辅助园林设计ps,计算机辅助园林设计III
  10. No field mFactorySet in class问题解决(上)