zoukankan      html  css  js  c++  java
  • Delphi调用.net的WebService和Delphi对XML文件的相关处理(1)

      1.为什么要用Delphi?

       因为我这个客户端要供用户下载的,客户端的体积必须小。如果用C#开发,客户那边必须装.net framework.对于小白客户来说,安装这么高深的东东比要他们的命都难,而且,我这个客户端就只要实现简单的信息提交,软件自动更新,信息浏览的功能,如果不是要一开机就让其显示数据,完全是可以通过B/S的形式来完成的。

    2.WebService调用的3种可行性方式

      通过这几天我查阅的相关资料,我觉得Delphi去调用.net写的WebService大致有3种方式

       1.使用THTTPTRO控件

       2.使用Microsoft SOAP Toolkit 3.0组件

       3.用Delphi窗体去加载一个网页然后用AJAX去访问客户WebService,然后用Delphi去获取网页访问返回的内容,持久化到本机计算机上。

    3.WebService访问的数据返回格式

       1.直接返回DTO对象。这样做的好处是,非常的面向对象。但是,返回的DTO对象必须在客户端程序中做个转换,使其变成Delphi对象。增加了客户端程序的代码量。

       2.直接返回XML文件。这样做的好处是只要在客户端解析一下XML文件就可以了。本来觉得XML文件在Delphi上解析比较麻烦,后来发现有一个很好的开源组件NativeXml,使用起来挺方便。

       3.ASP.AJAX或JQUERY 调用。这种方式可以返回JSON数据,但是,JSON数据在Delphi上的解析方法并不是很多,也不是很完善。

       所以,通过上述讨论,我觉得使用直接返回XML文件的方式比较合理。

    4.关于客户端程序的更新方式。

      1.直接通过HTTP的方式更新客户程序。

      2.通过WebService返回一个文件的序列化XML,把每个文件的二进制流通过XML文件的节点传输。但有个问题需要解决,就是如何在Delphi上使用文件下载进度。

    5.数据获取方式

      1.通过客户端轮询服务端的WebService来获取数据。这种方式比较简单,只要在客户端上放一个Timer控件就可以了。

      2.通过服务端推送数据到客户端。 如何推送到Delphi客户端,我还没要研究。

    6.问题点:

    1.WebService在Delphi上的异步调用问题。

    2.服务端向Delphi客户端推送数据的问题。 

  • 相关阅读:
    Querying for Event Information
    通过注册表查询 .Net Framework 的版本
    [Batch脚本] if else 的格式
    逆天技能
    财运是靠自己争取的,而财商是可以通过后天学习提高的
    必须冒着可能付出惨痛代价的风险前进,否则你就只能永远做个井底之蛙
    财商低的六种表现
    中国大唐集团公司 主要经营范围
    中国大唐集团公司是2002年12月29日在原国家电力公司部分企事业单位基础上组建而成的特大型发电企业集团
    中国大唐集团公司在役及在建资产分布在全国31个省区市以及境外
  • 原文地址:https://www.cnblogs.com/wxf82610/p/1389713.html
Copyright © 2011-2022 走看看