Remoting和Webservice有什么区别
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有什么区别相关推荐
- remoting和webservice的区别
简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用.(10) 答:WS主要是可利用HTTP,穿透防火墙.而Remoting可以利用TCP/IP,二进 ...
- .NET 的 WCF 和 WebService 有什么区别?(转载)
.NET 的 WCF 和 WebService 有什么区别?(转载) [0]问题: WCF与 Web Service的区别是什么? 和ASP.NET Web Service有什么关系? WCF与ASP ...
- .net remoting 与webservice
目录(?)[+] 浅谈net remoting 与webservice NET Remoting 2Web Service 3NET Remoting与Web Service比较 浅谈.net rem ...
- Remoting 与 Webservice 的区别
其实现的原理并没有本质的区别,在应用开发层面上有以下区别: 1.Remoting可以灵活的定义其所基于的协议,如果定义为HTTP,则与Web Service就没有什么区别了,一般都喜欢定义为TCP,这 ...
- 【转】浅谈.net remoting 与webservice
1. .NET Remoting .NET Remoting是微软随.NET推出的一种分布式应用解决方案,被誉为管理应用程序域之间的 RPC 的首选技,它允许不同应用程序域之间进行通信(这里的通信可以 ...
- 浅谈.net remoting 与webservice
[转] .NET Remoting .NET Remoting是微软随.NET推出的一种分布式应用解决方案,被誉为管理应用程序域之间的 RPC 的首选技,它允许不同应用程序域之间进行通信(这里的通信可 ...
- .net remoting与web service的区别
在网上看几篇这样的文章,现在来总结下. .net remoting 一定要两通信端都要求系统带有net framework,否则不能运行..net remoting 可注册tcp进行二进制传输信息或通 ...
- webservice和ajax区别,WebService简单介绍
提醒: 从实现效果来看,webservice和servlet是很相似的. 重大提示:创建一个Web Project也能有相当效果.其实这个就是Ajax的调用. 区别: 1.请求:servlet是接受简 ...
- http接口和webservice接口的区别
简单说 httpservice通过post和get得到你想要的东西webservice就是使用soap协议得到你想要的东西,相比httpservice能处理些更加复杂的数据类型http协议传输的都是字 ...
最新文章
- javascript模块化、模块加载器初探
- VIRTUAL COMMUNITY INFORMATICS
- 二维已经 OUT 了?3DPose 实现三维人体姿态识别真香 | 代码干货
- Flex学习笔记(1)——入门,HelloFlex
- Android 短信数据库重要table字段解释
- 计算机科学与技术专业分多少学科,计算机科学与技术专业,电子科学与技术有什么分别?...
- 微信服务号/企业号防止AccessToken过期的操作指南深入浅出
- 计算机台账管理需求分析,结合工作经验研究数据中心机房管理统计的需求和实方式论文...
- 校准证书中的修正值、修正因子,你真的会用吗?
- Office 365网络链接概览(三)--专线express route
- Latex如何写参考文献及修改顺序
- Mr.张小白(案例:基于Spring MVC实现后台登陆系统验证)
- 2021年“上海区块链周”参会随感(二)2021-04-12
- Java中就什么是映射的简单理解
- NeoCognitron
- IOTE 2019物联网嘉年华在深圆满落幕
- 『摄影知识』自然光的应用
- 抖音图像修复背后技术——CVPR2021多阶段图像修复框架(附github源码下载)
- 海康摄像头监控视频播放详解
- CK-S650系列HDX半双工RF玻璃管转发器阅读器|读写器之SECS协议验证软件使用说明
热门文章
- startservice方式启动服务
- android 连接mysql orm_Android ORM框架 GreenDao 的使用详解
- 前端性能优化-HTTP添加Expires头和Cache-Control
- 网站外链发布的细节注意事项!
- 网站优化之如何才能防止域名被恶意指向?
- android 自定义天气特效,《Android自定义控件》WindMillView,仿华为天气风车效果
- qt linux mac,MacOS下Qt Installer Framework使用教程【个人经验】
- ajax请求的步骤,ajax请求的五个步骤
- 计算机辅助园林设计ps,计算机辅助园林设计III
- No field mFactorySet in class问题解决(上)