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客户端推送数据的问题。 

  • 相关阅读:
    APDU:APDU常用指令
    其他:IntelliJ IDEA设置运行内存
    Linux:获取Linux离线postgresql数据库安装包并部署
    资源:Postgresql数据库下载路径
    免费版:Xshell和Xftp下载路径
    Raspberry Pi:树莓派开发板配置USB启动系统
    Raspberry Pi:树莓派安装基础系统 Raspberry Pi(树莓派系统)
    Raspberry Pi:树莓派安装Kali2021新版本
    Docker:虚拟机挂起后,再启动docker容器连接失败
    Docker:docker搭建redis一主多从集群(配置哨兵模式)
  • 原文地址:https://www.cnblogs.com/wxf82610/p/1389713.html
Copyright © 2011-2022 走看看