Remoting和Webservice的区别
原文:?http://kb.cnblogs.com/page/42995/ 笔记: webservice是remoting的一个特例 webservice用http,remoting同时支持tcp和http webservice用值传递,使用soap协议,remoting可以用引用传递,既可以使用xml又可以使用binary传递,效率比webservice高 webservice需要host在IIS上,remoting可以随便自己写个程序host 在局域网中一般使用remoting,在广域网中需要穿过防火墙的一般使用webservice remoting主要用在c/s结构里,webservice主要用在b/s结构上 其实现的原理并没有本质的区别,在应用开发层面上有以下区别: 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进行概括的阐述:? 2.?一般来说,remoting是和平台相关的,需要客户和服务器都是.NET,但可配置特性比较好,可以自定义协议。web service可以做到跨平台通信,但必须采用SOAP协议。? 3. Soap消息有rpc和文档两种样式。?文档样式的body元素中包含一个或多个元素,可以是任何内容,只要接受者理解就行了。rpc样式的的body元素中包含调用的方法或远程过程的名称,以及代表方法参数的元素。?? .net对这两种样式的实现就是web service 和remoting . 概括的说Remoting与Web Services的区别是: 其实现的原理并没有本质的区别,在应用开发层面上有以下区别: 2.?一般来说,remoting是和平台相关的,需要客户和服务器都是.NET,但可配置特性比较好,可以自定义协议。web service可以做到跨平台通信,但必须采用SOAP协议。? 3. Soap消息有rpc和文档两种样式。?文档样式的body元素中包含一个或多个元素,可以是任何内容,只要接受者理解就行了。rpc样式的的body元素中包含调用的方法或远程过程的名称,以及代表方法参数的元素。?? .net对这两种样式的实现就是web service 和remoting . 概括的说Remoting与Web Services的区别是: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |