注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天涯倦客的博客

祝福你朋友永远快乐!

 
 
 

日志

 
 

Asp.Net框架下WebService和Remoting的区别  

2013-07-18 11:26:57|  分类: asp.net |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

为了能清楚地描述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的一种特例。 

再次我们对WebService 以及Remoting做一个比较 
WebService的特点是:平台独立性(Platform-independent)、跨语言(只要能支持XML的语言都可以) 以及穿透企业防火墙 
但是它的缺点也很明显,就是需要部署一台Web Server;而且速度比较慢; 

.net Remoting的特点是 
他的优点是用户既可以使用TCP信道方式进行二进制流方式通信,也可以使用HTTP信道进行SOAP格式的性通信 
效率相对WebService要高不少;但是它的缺点也很明显,.net remoting只能应用于MS 的.net framework之下。 
从性能上来讲Remoting的效率和传统的DCOM、COM+的性能很相近!

 

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

  评论这张
 
阅读(519)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017