非.NET语言调用.NET XML Web Services返回的数据集合的两个方法
2004-07-21 09:18
567 查看
有一段日子学习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客户端了。
为此各个非.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客户端了。
相关文章推荐
- 从海量数据表中获取当前页已排好序的纪录!
- 问题是什么?---- 雷龙塔电梯问题(《Are your lights》读后感)
- 随机抽取n个记录的SQL
- 怎样使用javamail的属性设置
- 深入探索MS COM开发框架 之 MFC和ATL/1
- 每个开发人员现在应该下载的十种必备工具
- 如何定时浏览(执行)ASP文件(转载)
- ‘海洋之心’好美噢!
- 於SourceForge.net使用WinCVS與SSH
- 被广泛使用的MD5.asp中似乎存在缺陷
- 微软的常用资源列表
- fa
- Hiweed-debian 30rc2 版本 xfce4 的快捷键定义及指南
- 时光倒流
- Colours Of Light (光之彩),
- 月娘照花影
- silver sea(meav) 银之海
- 白日梦 (320K)
- 偶然发现的站点, 蔡志忠的漫画改编的动画...
- 天地 (风潮系列)