0

使用 CF 3.5 从 Web 服务获取数据的首选方式是什么?我正在从网络服务中取回一系列表格。

4

2 回答 2

1

正如 John 所指出的,它实际上与桌面调用没有什么不同。您通常可以从 IDE 添加对服务的引用并让 Studio 生成调用包装器,或者您可以手动敲定它。如果您尝试传递强类型数据集,您的情况可能会略有不同,因为桌面的序列化可能与设备想要的反序列化不匹配。这实际上取决于您的确切使用场景。

无论您的调用机制如何,需要注意的一点是 CF Web 服务调用生成代理的速度非常慢。代理已缓存,但在第一次调用时仍可能需要几秒钟才能返回。一个好的做法是让 Web 服务公开一个简单的虚拟方法(或如果适用,则为真正的方法),它什么都不做,但可能返回一个 blittable 类型。当应用程序启动时,产生一个工作线程来调用该方法,这将反过来生成代理。然后,当您需要调用服务以获取真实数据时,时间仅用于服务调用,而不是生成代理。

于 2008-10-21T21:24:23.267 回答
0

我一直只使用 WebRequest/WebResponse 类;或 HttpWebRequest/HttpWebResponse 类(如果需要)。它们使用起来有点乏味,并且不如完整的框架 WebClient 类那么好,但它们可以工作。

于 2008-10-21T20:09:19.333 回答