非.NET语言调用.NET XML Web Services返回的数据集合的两个方法

有一段日子学习web services开发,发现非.net开发工具(delphi)调用.net web services返回数据集合(dataset)时候,会遇到不少麻烦.

为此各个非.net开发工具有很多解决方法,比如delphi的方法,可看我的文章--<<我在delphi7下调用微软的Web Services的心得.(其中服务是指返回数据集)>> (http://www.cnblogs.com/cowbird/archive/2004/06/19/17129.aspx).

显然,很麻烦.为此我放弃了delphi工具.不过这些天看到一篇文章.使我重新认识了这个问题.

文章名称<非.NET语言调用.NET XML Web Services返回的数据集合的两个方法>,原文地址http://www.microsoft.com/China/Community/program/originalarticles/TechDoc/callwebs.mspx

下面是我看文章后的一些摘要:

问题认识:
-----------------
1)多语言共存的编程环境,不适合特定语言的数据类型。尽量使用简单数据类型以及简单数据类型的数组。
2)不适合通过Web Service来返回大量数据

解决方案有两种:
------------------------
1) 用简单数据类型构造自定义类型,用每一个自定义类型对象封装数据集中的一行,将自定义类型对象的数组(Array)返回客户端;由于是用简单数据类型定义,客户端能够完全不变的还原出自定义类型的定义;
        它的优点是客户端代码非常简单,容易编写,而且容易理解。它的缺点是服务器端需要定义新的类,而且当通过ADO.NET从数据库中提取数据以后,还要再手工编写代码,将DataSet中的数据遍历一遍,转存成自定义类型的对象。


2) 用DataSet.WriteXML()方法将数据集中的数据提取成XML格式,并以字符串的形式返回给客户端,再由客户端解析XML字符串,还原出数据。由于使用WriteXML()的时候能够过滤掉冗余信息,返回的内容大大简化了。

         它在客户端需要编写较多的代码,需要用XML Parser编程。它在服务器端比较简单。当开发者希望在客户端引入非.NET语言时,服务器端只需要简单的再增加一个Web Method,通过简单的WriteXML()调用对原有的方法进行简单的包装,就能够适用于非.NET客户端了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值