我看windows mobile数据同步方案
生活随笔
收集整理的這篇文章主要介紹了
我看windows mobile数据同步方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
距離上篇博客似乎又過了一段日子了,這段日子應該算是掙扎著過來的,從尋找同步錯誤的過程到使用新的解決方案,總共花了近3個星期,我想自己有必要總結下這次的經歷。
????? 項目是使用C#+VS2008開發的,客戶端數據存儲采用SQL SERVER Compact Edtion 3.5,主要想應用在windows mobile 5.0操作系統及以上的手機。對于客戶端和服務器端的數據同步,最初我們討論了好幾種方式,主要包括RDA,合并復制,webservice寫XML文件或SQLCE。RDA使用起來雖然簡單、靈活,但因為其沒有沖突處理機制及跟蹤增量更改于是被第一個放棄.webservice寫XML文件或SQLCE,我們粗粗估算了下,除了要另外建表外,沒有個幾千行代碼就搞不定的,這又背離了我們開速開發的宗旨。而且我們也無法保障使用webservice寫XML的效率。因此我們選擇了代碼量少,配置繁瑣的合并復制。
????? 程序的開發用了大約一個月左右,模擬器上調試均OK,將serverTool公開到外網,但發布到手機上了才出現A request to send data to the computer running IIS has failed的錯誤,因為那時候正準備將開發的結果展示給領導看,但這個錯誤卻是意料之外的,這個錯誤是指示數據連接超時,當然了數據連接超時的原因有很多,而查找這個原因的過程更是讓人抓狂。起先還以為是網絡連接超時造成的,遂將數據刪除得只剩一條,但還是出現錯誤。于是將原因歸咎到了IIS訪問用戶的權限,于是乎又將快照及復制及虛擬目錄的權限均設置成最高。還是出錯。最后將原因歸到了合并復制的配置過程上了,于是重新配置了遍合并復制,還是這個錯誤。沒轍了,中間還使用過RDA來進行數據同步,但到了手機上還是這個錯誤。后來一個同事將手機連接到家里的網絡,隨意地點了下程序,發現可以。于是終于發現錯誤的源頭在CMWAP的代理上網方式上。
????? 百度了下GPRS網絡,發現中國移動提供了兩種上網方式,一種是CMWAP的上網方式,采用10.0.0.172:80代理服務器,這種上網方式有些限制,首先,只有滿足以下兩個條件的應用才能在中國移動的cmwap接入方式下正常工作1、應用程序的網絡請求基于http協議;2、應用程序支持http代理協議或wap網關協議。還有種是CMNET,這種方式沒有任何限制,與我們普通的PC機上網一樣,可以隨意地訪問各類型的網站,但這種方式的缺點是上網賊貴,在我們這邊是20元50M每個月,超過了按3分/K算,如果沒有超過還好說,假如超過了。。。假如一首歌是4M,那么額外的你就得支付4*30=120元,汗呀..看來不能強求我們的用戶使用這種方式上網了。我們只能尋求另外的解決方案。
????? 不知道有沒有其他朋友使用合并復制成功地同步過數據,忘了加一個條件就是使用CMWAP上網方式。至少我失敗了,在各大論壇發帖求助,及瘋狂地向國內知名的windowmobile專家發送郵件,甚至我的同事還將問題翻譯成英文發送給window mobile小組,但均得不到滿意的答案,這里我也感覺到了windows mobile移動應用在國內實在是太少,或許是局限于國內的移動網絡。
????? 希望這篇文章能給同樣遇到此問題的您帶來一點幫助。好在我們現在尋找到了我們的替代方案,就是使用微軟最近才推出的Sync Service,因為是使用WebService做代理中間層,因此CMWAP的限制解決了。以后的文章中會介紹關于這個框架的使用心得,感覺速度還可以接受,第一次同步時(包括表結構及)花了35s,普通的同步12~13s之間,當然,這個數據只是針對的,在不同的手機和網絡條件下不一樣,僅做參考。
????? ps:這么看似乎前面的合并復制的翻譯白寫了,其實不然,因為我們的同步方案并不一定使用移動的網絡,比如說桌面應用程序,具體還是要看應用了。
????? 項目是使用C#+VS2008開發的,客戶端數據存儲采用SQL SERVER Compact Edtion 3.5,主要想應用在windows mobile 5.0操作系統及以上的手機。對于客戶端和服務器端的數據同步,最初我們討論了好幾種方式,主要包括RDA,合并復制,webservice寫XML文件或SQLCE。RDA使用起來雖然簡單、靈活,但因為其沒有沖突處理機制及跟蹤增量更改于是被第一個放棄.webservice寫XML文件或SQLCE,我們粗粗估算了下,除了要另外建表外,沒有個幾千行代碼就搞不定的,這又背離了我們開速開發的宗旨。而且我們也無法保障使用webservice寫XML的效率。因此我們選擇了代碼量少,配置繁瑣的合并復制。
????? 程序的開發用了大約一個月左右,模擬器上調試均OK,將serverTool公開到外網,但發布到手機上了才出現A request to send data to the computer running IIS has failed的錯誤,因為那時候正準備將開發的結果展示給領導看,但這個錯誤卻是意料之外的,這個錯誤是指示數據連接超時,當然了數據連接超時的原因有很多,而查找這個原因的過程更是讓人抓狂。起先還以為是網絡連接超時造成的,遂將數據刪除得只剩一條,但還是出現錯誤。于是將原因歸咎到了IIS訪問用戶的權限,于是乎又將快照及復制及虛擬目錄的權限均設置成最高。還是出錯。最后將原因歸到了合并復制的配置過程上了,于是重新配置了遍合并復制,還是這個錯誤。沒轍了,中間還使用過RDA來進行數據同步,但到了手機上還是這個錯誤。后來一個同事將手機連接到家里的網絡,隨意地點了下程序,發現可以。于是終于發現錯誤的源頭在CMWAP的代理上網方式上。
????? 百度了下GPRS網絡,發現中國移動提供了兩種上網方式,一種是CMWAP的上網方式,采用10.0.0.172:80代理服務器,這種上網方式有些限制,首先,只有滿足以下兩個條件的應用才能在中國移動的cmwap接入方式下正常工作1、應用程序的網絡請求基于http協議;2、應用程序支持http代理協議或wap網關協議。還有種是CMNET,這種方式沒有任何限制,與我們普通的PC機上網一樣,可以隨意地訪問各類型的網站,但這種方式的缺點是上網賊貴,在我們這邊是20元50M每個月,超過了按3分/K算,如果沒有超過還好說,假如超過了。。。假如一首歌是4M,那么額外的你就得支付4*30=120元,汗呀..看來不能強求我們的用戶使用這種方式上網了。我們只能尋求另外的解決方案。
????? 不知道有沒有其他朋友使用合并復制成功地同步過數據,忘了加一個條件就是使用CMWAP上網方式。至少我失敗了,在各大論壇發帖求助,及瘋狂地向國內知名的windowmobile專家發送郵件,甚至我的同事還將問題翻譯成英文發送給window mobile小組,但均得不到滿意的答案,這里我也感覺到了windows mobile移動應用在國內實在是太少,或許是局限于國內的移動網絡。
????? 希望這篇文章能給同樣遇到此問題的您帶來一點幫助。好在我們現在尋找到了我們的替代方案,就是使用微軟最近才推出的Sync Service,因為是使用WebService做代理中間層,因此CMWAP的限制解決了。以后的文章中會介紹關于這個框架的使用心得,感覺速度還可以接受,第一次同步時(包括表結構及)花了35s,普通的同步12~13s之間,當然,這個數據只是針對的,在不同的手機和網絡條件下不一樣,僅做參考。
????? ps:這么看似乎前面的合并復制的翻譯白寫了,其實不然,因為我們的同步方案并不一定使用移動的網絡,比如說桌面應用程序,具體還是要看應用了。
轉載于:https://www.cnblogs.com/JustDI/archive/2008/05/05/1183664.html
總結
以上是生活随笔為你收集整理的我看windows mobile数据同步方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nancy跨平台开发总结(三)发布到Je
- 下一篇: Si9000阻抗计算笔记(一)