.Net remoting 的解答,以及跟WebService的区别

.Net remoting 的解答,以及跟WebService的区别

1, 到底是什么东东呢?
webservice和.net remoting都是用来通信的框架,它们最大的优点是可以像调用本地对象一样调用远程对象,比如:
Uploader uploader = new Uploader();
uploader.Save(file);
可以用这样简洁而抽象的调用实现上传,不用自已对socket进行一系列的处理,可以把更多精力放在业务逻辑上;
区别:
webservice是用的应用层协议http封装的,所以它可以被很多其它语言调用,很多语言也都实现了webservice代理端封装以及工具,只要知道
webservice的地址(比如:http://www.baidu.com/SomeService.asmx),就可以用,所以webservice的点特是好用、通用、效率一般;
.net remoting是用传输层协议tcp封装的,所以可以以二进制传输数据,效率高;.net remoting基于.net的反射机制,只方便.net使用(其它语言反
射机制实现不同,有的根本没有反射);

2. webservice能穿越防火墙,是因为http协议是现在广泛应用的协议,防火墙一般不会作屏蔽,并不说webservice有某功能穿越防火墙;

3. 只能在winform下用吗?
如果你是用.net开发,任何类型的应用程序都可以使用webservice和.net remoting,包括winform,asp.net, wpf, silverlight...,只要能using
...就可以按它们的方式用了

这一次记忆的深一些,因为突然发现记东西是很有好处的,好记性不如烂笔头

------------------------9.18----------------------

凡事都有利有弊,在这简单摘抄一些两者的比较,方便理清思路以及扩展知识面

目前在用Remoting做分布式的ERP各有个的优点,比如Remoting的Tcp通道速度相快,但平台限定在了,net上WebService开放,任何语言写的程序都可以调用当然还有DCOM,甚至是WCF
WebService的特点是:

平台独立性(Platform-independent)、跨语言(只要能支持XML的语言都可以)以及穿透企业防火墙;

webservice是基于http的是无状态的;

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

.net Remoting的特点是:

优点是用户既可以使用TCP信道进行二进制流方式通信,也可以使用HTTP信道进行SOAP格式的通信,效率相对WebService要高不少;

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

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

.net Remoting 的工作原理是:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。
WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。
remoting是.net中用来跨越machine,process,appdomain进行方法调用的技术
对于三成结构的程序,就可以使用remoting技术来构建.
它是分布应用的基础技术.相当于以前的DCOM
Web Service是一种构建应用程序的普通模型
并能在所有支持internet网通讯的操作系统上实施。
Web Service令基于组件的开发和web的结合达到最佳
使用场合:

如果互动双方都是支持.NET技术的环境,并且在操作系统上能提供一致的验证机制,而且很重视沟通双方作业的效率,就是.NET Remoting上场的时机。

相反的,如果沟通双方是异质环境,又或沟通的模式就是无状态的情况,持续进行的互动作业前后是没有关联的,Web Service就是理想选择了。

--原文地址:http://www.cnblogs.com/paper/archive/2009/08/01/1536539.html

  Webservice到底是什么呢?什么时候应该用Webservice呢?到底有什么优点与缺点呢?什么情況下应该用WebService?什么情況下不应该用WebService?是需要我们正确去确认的。

  WebService的主要目标是跨平台的可互操作性。为了达到这一目标,WebService完全基于XML、XSD (XMLSchema)等独立于平台、独立于软軟件供应商的标准,是创建可互操作的、分布式应用程序的新平台。带来的好处是应该程序集成、跨防火墙通信、 B2B集成及软伯重用。从这些可以看出WebService主要是通过Web的推进互操作及远程调用最好用。而对于单机程序不会还来什么好处。

 

你可能感兴趣的:(webservice)