delphi - 具有向后兼容性的数据快照维护和开发

标签 delphi server delphi-xe5 maintenance datasnap

我正在开发一个 delphi xe5 datasnap 客户端服务器应用程序。在服务器中,我创建了几个带参数的方法,并且我有一些远程数据集提供程序。我在客户端使用 tcp/ip 作为协议(protocol)和 TSQLConnection。我已经使用 TSQLConnection 中的向导生成了客户端类。

到目前为止,一切都运行良好。

现在我正在考虑以下问题:

当我继续开发服务器方法时,我必须选择什么方法来为我的客户保持向后兼容性。我不可能同时更新所有客户端。将第一个客户端和最后一个客户端更新到相同版本可能需要很长时间。

  • 当我想在服务器方法中添加额外(或删除)参数时该怎么办?或者想改变参数的数据类型?
  • 当我想添加额外的服务器方法时该怎么办? (这应该不是问题?)
  • 当我在服务器组件中更改数据集中的字段时该怎么办?
  • 我可以在同一个 IP 地址和同一个端口号上运行多个版本的 datasnap 服务器组件吗?有子版本/地址吗?
  • 我已经阅读了一些关于在运行时动态生成客户端类的内容,但我找不到关于它的详细示例。

  • 我希望我已经为你清楚地输入了我的问题。

    提前寻求帮助!

    最佳答案

    我不是 Datasnap 方面的专家,但我可以提出以下建议:

    只需右键单击 SQLConnection 到 datasnap 并单击“生成 Datasnap 客户端类”即可完成问题 1 - 3。

    这将在客户端重新创建客户端类单元,并且您将获得带有更改的更新方法。

    4)我不相信你可以在同一个端口号上运行两台服务器。您可以使用不同的端口号在相同的 IP 地址上运行。

    5)我不能说我遇到了为datasnap动态生成类。

    我也在 Datasnap 的学习阶段,我希望有人更了解你的问题。

    关于delphi - 具有向后兼容性的数据快照维护和开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28557901/

    相关文章:

    delphi - 是否存在用 Delphi 编写的开源 psexec 克隆?

    delphi - DCEF GetResourceHandler 的 blob url 和跨源错误

    multithreading - 在 TListView 中更新每个线程的计时器,而不会造成 CPU 过载

    node.js - Ubuntu - nodejs - npm install -g > 错误 : EACCES: permission denied, mkdir

    delphi - 如何在 TMemo 的左侧绘制一条看起来像排水沟的彩色线

    delphi - OmniThreadLibrary C++ 构建器构建问题

    Python HTTP Server - 在不使用 HTTP 模块的情况下创建

    linux - redis中repl-buffer和backlog的区别?

    ios - 使用幻灯片切换制作表格放映

    android - 在 XE5 Delphi 中删除 Android 选项菜单