在我读过的示例 Delphi Web 服务教程中,他们倾向于构建一个返回简单字符串或整数的 Web 服务,例如
http://blogs.codegear.com/pawelglowacki/2008/12/18/38624
但是,我读到可以在 .NET 中构建返回 DataSet 甚至对象的 Web 服务。这在 Delphi 2009 中是否可行,如果可以,我在哪里可以找到更多信息?
另外,您对在 Delphi 和 .NET 之间构建 Web 服务的工具有何看法?
在我读过的示例 Delphi Web 服务教程中,他们倾向于构建一个返回简单字符串或整数的 Web 服务,例如
http://blogs.codegear.com/pawelglowacki/2008/12/18/38624
但是,我读到可以在 .NET 中构建返回 DataSet 甚至对象的 Web 服务。这在 Delphi 2009 中是否可行,如果可以,我在哪里可以找到更多信息?
另外,您对在 Delphi 和 .NET 之间构建 Web 服务的工具有何看法?
是的,可以这样做;你可以通过使用 Delphi 的 DataSnap 和 SoapConnection 来做到这一点。DataSnap 是德尔福的多层解决方案。在 Delphi 2009 中,它看到了一个重大更新,并命名为 DataSnap 2009,但 DataSnap 2009 还不支持旧 DataSnap 的某些功能,例如使用 WebServices 进行通信。好消息是旧的 DataSnap 在 Delphi 2009 中仍然可用,并且您不必强制使用 DataSnap 2009。
Delphi 2009 完全支持从 web 服务返回类和数据集。Datasnap 是支持数据集的框架,您可以在Delphi 产品经理 Nick Hodges的这段视频中找到更多信息,Marco Cantù 的这份白皮书(白皮书摘自他的书“<a href="http://www.marcocantu.com/ dh2009" rel="nofollow noreferrer">Delphi 2009 手册”和此代码由 Bruno Lichot 编写。
好的,请告诉我以下是否正确:
DataSnap 2009 可以传输数据集,但不支持通过 Web 服务进行通信。即客户端和服务器都必须用Delphi 2009 编写?
普通的旧 DataSnap 可以使用 Web 服务传输数据集,但需要 COM?
那么下一个问题是,使用什么来使用 Web 服务返回的数据集?
据我所知,.Net 和 Java 客户端也可以访问 DataSnap 2009 服务器。
旧的 DataSnap 不将 COM 用于 SoapConnection,但 COM 用于其他类型的连接(例如套接字连接)。
那么下一个问题是,使用什么来使用 Web 服务返回的数据集?
在服务器端,您可以放置连接到数据集控件的 DatasetProviders,并为客户端提供数据集。在客户端,ClientDataset 用于接收服务器上的 DatasetProviders 提供的数据。