请解释一下webservice和remoting的区别!

请解释一下webservice和remoting的区别!
---------------------------------------------------------------

一般如果你的产品在局域网里使用的话就用.net remoting
如果是提供远程访问的话就用web service.
当然也不是很绝对,你可以自己根据需要判断!
---------------------------------------------------------------

Web Service和remoting传输协议不一样
Web Service是http方式,可以穿透防火墙
remoting是通过socket方式传输数据
---------------------------------------------------------------
首先,.net remoting也可以采用Http,也能跨越firewall,当然这样效率上肯定有所影响。web service最大的优势是跨平台,web service决不是MS一家的技术(尽管csdn的论坛将它列在.net技术下),在其他平台上一样可以开发和使用web service,而.net remoting完全是捆绑于.net平台之上的,也就是说remoting的双方都一定要有.net framework。
总结一下,.net remoting应用范围比web service小,仅限于.net平台。但是它的效率比web service要高。
---------------------------------------------------------------
MS的说法:

ASP.NET Web 服务基础结构通过将 SOAP 消息映射到方法调用,为 Web 服务提供了简单的 API。通过提供一种非常简单的编程模型(基于将 SOAP 消息交换映射到方法调用),它实现了此机制。ASP.NET Web 服务的客户端不需要了解用于创建它们的平台、对象模型或编程语言。而服务也不需要了解向它们发送消息的客户端。唯一的要求是:双方都要认可正在创建和使用的 SOAP 消息的格式,该格式是由使用 WSDL 和 XML 架构 (XSD) 表示的 Web 服务合约定义来定义的。

.NET Remoting 为分布式对象提供了一个基础结构。它使用既灵活又可扩展的管线向远程进程提供 .NET 的完全对象语义。ASP.NET Web 服务基于消息传递提供非常简单的编程模型,而 .NET Remoting 提供较为复杂的功能,包括支持通过值或引用传递对象、回调,以及多对象激活和生命周期管理策略等。要使用 .NET Remoting,客户端需要了解所有这些详细信息,简而言之,需要使用 .NET 建立客户端。(或者使用支持 .NET Remoting 的其他框架,我们所知道的唯一一个框架是 Intrinsyc 的用于 Java 的 Ja.NET。).NET Remoting 管线还支持 SOAP 消息,但必须注意这并没有改变其对客户端的要求。如果 Remoting 端点提供 .NET 专用的对象语义,不管是否通过 SOAP,客户端必须理解它们。

参考文章:

ASP.NET Web 服务还是 .NET Remoting:如何选择 ?

http://www.microsoft.com/china/msdn/library/dnbda/html/bdadotnetarch16.asp

性能比较:.NET Remoting 与 ASP.NET Web 服务

http://www.microsoft.com/china/msdn/library/dnbda/html/bdadotnetarch14.asp

Published At
Categories with Web编程
Tagged with
comments powered by Disqus