简述WebS简述WebService与.NET Remoting的区别及适应场合

为了能清楚地描述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的语言都可以) 以及穿透企业防火墙;.Net webservice是基于http的是无状态的;

但是它的缺点也很明显,就是需要部署一台Web Server;而且速度比较慢;

.Net Remoting的特点是

他的优点是用户既可以使用TCP信道方式进行二进制流方式通信,也可以使用HTTP信道进行SOAP格式的性通信

效率相对WebService要高不少;

remoting可以用于有状态的情况;

但是它的缺点也很明显,.Net remoting只能应用于MS 的.Net framework之下。

使用场合

如果互动双方都是支持 .Net技术的环境,并且在操作系统上能提供一致的验证机制,而且很重视沟通双方作业的效率,就是 .Net Remoting上场的时机。相反的,如果沟通双方是异质环境,又或沟通的模式就是无状态的情况,持续进行的互动作业前后是没有关联的,Web Service就是理想选择了。

以上文章转载自互联网

更多详情

简述WebS简述WebService与.NET Remoting的区别及适应场合,布布扣,bubuko.com

时间: 2024-10-12 14:13:32

简述WebS简述WebService与.NET Remoting的区别及适应场合的相关文章

简述WebService与.NET Remoting的区别及适应场合 WCF

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhoufoxcn.blog.51cto.com/792419/166990 为了能清楚地描述Web Service 和Remoting之间的区别,我打算从他们的体系结构上来说起: Web Service大体上分为5个层次: 1. Http传输信道 2. XML的数据格式 3. SOAP封装格式 4. WSDL的描述方式 5. UDDI 总体上来讲,.NET 下的 Web Ser

webservice和.net remoting浅谈

服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置.   webservice和.net remoting都是用来通信的框架,它们最大的优点是可以像调用本地对象一样调用远程对象,比如: Uploader uploader = new Uploader(); uploader.Save(file); 可以用这样简洁而抽象的调用实现上传,不用自已对socket进行一系列的处理,可以把更多精力放在业务逻辑上: 区别: 1.webservice是用的应用层协议http封装的,所以它可以被

浅析WCF与WebService、WPF与Silverlight 区别

由于在<Windows服务调用Quartz.net 实现消息调度>中,涉及到ASP.NET Web Service //WebServiceSoapClient client = new WebServiceSoapClient(new BasicHttpBinding(), new EndpointAddress(URL));//client.Shake(); 效果始终不是太好,故Google查之,此文做为平时积累. 一.ASP.NET Web Service Web Service:严格来

简述WCF、WebService、Socket

1.wcf有一个ABC,简单说一下ABC是什么?wcf全称是什么?Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口在WCF 框架中,各个Application之间的通信是由Endpoint来实现的.Endpoints是WCF实现通信的核心要素WCF支持了HTTP,TCP,Named Pipe,MSMQ,Peer-To-Peer TCP 等协议,最基本的通信机制是SOAP(Simple Obje

简述jpg。Gif。png-8.png-24的区别,分别使用场景

gif.jpg.png格式的图片在网站制作中的区别 一.Gif格式特点: 1.透明性,Gif是一种布尔透明类型,既它可以是全透明,也可以是全不透明,但是它并没有半透明(alpha透明). 2.动画,Gif这种格式支持动画. 3.无损耗性,Gif是一种无损耗的图像格式,这也意味着你可以对gif图片做任何操作也不会使得图像质量产生损耗. 4.水平扫描,Gif是使用了一种叫作LZW的算法进行压缩的,当压缩gif的过程中,像素是由上到下水平压缩的,这也意味着同等条件下,横向的gif图片比竖向的gif图片

简述http协议和TCP,UDP的区别和应用

http(超文本传输协议)是一个基于请求与响应模式的.无状态的.应用层的协议,在上网浏览网页的时候,浏览器和web服务器之间通过HTTP在Internet上进行数据的发送和接收. 常基于TCP的连接方式http表示要通过HTTP协议来定位网络资源:host表示合法的Internet主机域名或者IP地址:port指定一个端口号,为空则使用交请求后,通过HTTP协议传送给Web服务器.Web服务器接到后,进行事务处理,处理结果又通过H缺省端口80:abs_path指定请求资源的URI:如果URL中没

简述C#中关键字var和dynamic的区别

C#中关键字var和dynamic的区别如下: 1.var申明的变量必须初始化,dynamic申明的变量无需初始化. 2.var关键字只能在方法内部申明局部变量,dynamic关键字可用于局部变量,字段,参数. 3.表达式不能转型为var,但可以转型为dynamic. 4.用var关键字声明变量时,编译时会根据初始化值来推断该变量的类型,用dynamic关键字声明变量时,编译的时候不执行类型检查,仅在运行时识别对象的类型. 注:参考<CLR via C# 4>

简述进程、线程、协程的区别?

1.进程是操作系统资源分配的最小单位,拥有独立的资源和地址空间 2.线程是CPU调度的单位 3.统一进程中的线程是资源共享的. 4.协程是用户级别的,程序之间的切换由用户自行处理,节省了CPU的调度时间. 原文地址:https://www.cnblogs.com/apollo1616/p/10206072.html

WebService @QueryParam @DefaultValue @PathParam的区别

1 先来看@queryparam    先看例子:   Java代码 Path("/users") public class UserService { @GET @Path("/query") public Response getUsers( @QueryParam("from") int from, @QueryParam("to") int to, @QueryParam("orderBy") Li