为了能清楚地描述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就是理想选择了。
分享到:
相关推荐
.NET Remoting 与 WCF 和 WebService 在用途和技术实现上有显著差异: 1. **与 WebService 的区别**: - WebService 是一种标准化技术,使用 XML 和 SOAP 进行通信,支持多种平台和语言。 - .NET Remoting 是非...
C#.NET Remoting与Web服务是两种不同的分布式应用程序通信机制,它们都允许.NET应用程序在不同进程或计算机之间共享数据和功能。理解这两种技术的核心概念、差异以及适用场景是提升开发能力的关键。 首先,C#.NET ...
WebService在.NET中的实战应用是开发跨平台、跨语言应用程序的重要技术。它基于开放标准,如SOAP(简单对象访问协议)和WSDL(Web服务描述语言),使得不同系统间的数据交换变得简单而有效。本篇文章将深入探讨.NET...
1. **A360]WebService在.NET中的实战应用五 动态调用WebService.exe**:这可能是一个演示程序,展示了如何在运行时动态地调用WebService,这通常涉及到反射技术,可以提高代码的灵活性和适应性。 2. **WebService...
自己弄的三层框架Spring.net,Remoting 本系统共分3部分: 1, DataAccess 数据访问层, 使用Ado.Net和Sql2005交互..数据访问层基本的Model, 单表基本操作存储过程, Dao代码可以由"动软代码生成工具修改版"生成 2, ...
#### 二、Web服务与 .NET Remoting 的特点及应用场景 **Web服务**是一种基于HTTP协议的远程服务技术,其主要特点包括: - 跨平台性:Web服务可以通过XML和SOAP协议与其他语言平台进行交互。 - 与 .NET 类型结合较...
本示例将详细讲解如何使用.NET来调用一个WebService接口,并提供相关的代码实例。 首先,让我们理解Web Service的基本概念。Web Service是一种基于XML(可扩展标记语言)的标准化方法,用于在不同应用程序之间共享...
然后,使用ASP.NET的WebService或WebMethod特性标记这些方法,使它们成为可从网络调用的Web服务操作。一旦服务部署,客户端可以通过HTTP请求调用这些服务,获取返回的数据,通常以XML格式。 压缩包中的“4397”可能...
remoting与webservice的区别
【描述】"webservice asp.net mvc3 desktop intake" 提到的“desktop intake”可能是指一个桌面应用程序与Web服务交互的接口或功能。在这个场景中,Web服务作为ASP.NET MVC3应用的一部分,可能是为了接收和处理来自...
【Java与.NET开发WebService详解大全】 在IT领域,WebService是一种基于标准协议(如SOAP和WSDL)的跨平台、跨语言的通信机制,允许不同系统间的应用进行交互。本篇文章将详细探讨使用Java和.NET(VB.NET为例)开发...
C# _.NET_动态调用webservice的三种方式 在本文中,我们将讨论如何动态调用WebService的三种方式。在某些情况下,我们可能需要在程序运行期间动态调用一个未知的服务。这可以通过使用.NET Framework的System.Web....
"android webservice C#.NET"这个主题聚焦于使用C#和.NET框架来构建Web服务,并在Android平台上进行调用。本文将深入探讨这一技术栈的关键知识点。 一、Web服务 Web服务是一种通过HTTP协议交换数据的方式,它允许...
在这个用例中,我们将探讨如何使微信小程序与.NET开发的Webservice进行数据交互。 首先,我们需要了解微信小程序的基本结构。微信小程序由JSON配置文件(app.json)、页面配置文件(page.json)、WXML(微信小程序...
此框架旨在通过结合WebService与.NET Remoting的优势来实现高效的信息处理,并且特别考虑了分布式系统的安全性问题。 该框架的设计采用了三层架构,即表示层、业务逻辑层和数据访问层,以此来提高系统的灵活性和...
【标题】:“[浪曦][原创]WebService在.NET中的实战应用三” 【描述】:本教程深入探讨了WebService在.NET框架下的实际应用,通过具体的案例分析,旨在提升开发者们的编程技能,尤其是对于WebService的运用技巧。 ...
【标题】"浪曦][原创]WebService在.NET中的实战应用四"主要聚焦于.NET平台下使用WebService进行实际项目开发的技巧和实践经验。WebService是一种基于HTTP协议的,能够跨平台、跨语言交换数据的服务,它利用XML...
Web Service Studio是一个交互式调用Web方法的工具。用户可以提供WSDL端点。在单击Get按钮时,该工具将获取WSDL,从WSDL生成....用户可以选择任何方法并提供所需的输入参数。在单击Invoke时,SOAP请求被发送到服务器,...
在.NET框架中,动态调用WebService是一项常见的任务,它允许开发者在运行时根据需要与Web服务进行交互,而无需在编译时明确指定服务接口。这通常涉及到使用System.Web.Services.ProtocolsSoapHttpClientProtocol类...