2008-10-21 49 views

回答

1

正如約翰指出的那樣,它與桌面電話真的沒有什麼不同。您通常可以從IDE添加對該服務的引用,並讓Studio生成調用封裝器,或者您可以手動將其引出。如果您嘗試傳遞強類型DataSet,則您的情況可能會稍有不同,因爲桌面的序列化可能與設備想要反序列化的內容不匹配。這真的取決於您的確切使用場景。

無論您的調用機制如何,有一點需要注意的是CF Web服務調用對於生成代理而言非常緩慢。該代理被緩存,但仍可能需要幾秒鐘才能返回第一個呼叫。一個好的做法是讓Web服務公開一個簡單的虛擬方法(或者一個真實的如果適用的話),它只會返回一個可變類型。當應用程序啓動時,產生一個工作者線程來調用該方法,該方法將依次生成代理。然後,當您需要爲真實數據調用服務時,時間僅用於服務該呼叫,而不是生成代理。

0

我一直使用WebRequest/WebResponse類;或者如果需要,可以使用HttpWebRequest/HttpWebResponse類。它們使用起來有點繁瑣,並不像完整的框架WebClient類那麼好,但它們工作正常。

相關問題