使用CF 3.5从Web服务获取数据的首选方法是什么?我从Web服务中找回了一系列表格。
答案 0 :(得分:1)
正如约翰所指出的,它与桌面电话没什么不同。您通常可以从IDE添加对服务的引用,让Studio生成调用包装器,或者您可以手动删除它。如果您尝试传递强类型DataSet,则您的情况可能略有不同,因为桌面的序列化可能与设备反序列化所需的不匹配。这实际上取决于您的确切使用情况。
无论您的呼叫机制如何,需要注意的一点是CF Web服务调用生成代理的速度非常慢。代理已缓存,但在第一次调用时仍可能需要几秒钟才能返回。一个好的做法是让Web服务公开一个简单的虚拟方法(如果适用的话,还可以实现真正的方法)除了可能返回blittable类型之外什么都不做。当应用程序启动时,会生成一个工作线程来调用该方法,该方法将生成代理。然后,当您需要为真实数据调用服务时,花费的时间仅用于处理呼叫,而不是生成代理。
答案 1 :(得分:0)
我一直只使用WebRequest / WebResponse类;或者如果需要,还可以使用HttpWebRequest / HttpWebResponse类。它们使用起来有点乏味,并且不如完整的框架WebClient类那么好,但它们都有效。