文章目錄
上篇遺留問題:
在使用資料庫方面,egmkang和瑞雪年給了不少建議,我也測試了SQLite的使用,在對SQL Server CE的查詢方面,egmkang的效能方面的測試代碼也運行了一遍,很感謝你們的協助。
本篇簡要說明
windows mobile上的應用程式除了可以與本地的SQL Server CE進行資料互動,還可以與遠端webservice通訊,這個過程基本類似於winform的開發,我們可以先建立一個解決方案,包括一個windows mobile的應用程式項目和一個web網站,其中web網站內只需要添加一個webservice服務頁面即可,這裡按預設的頁面,這個服務內部只有一個預設方法Helloworld,當windows mobile應用程式調用此方法時,可以接收到hello,world!
步驟一 建立webservice及windows mobile 應用程式
werservice內只有一個簡單方法helloworld();
步驟二 在windows mobile應用程式中添加web引用,引用名預設
添加引用後,在預設的Form1上添加一個按鈕,用來觸發webservice事件,可以在按鈕的點擊事件添加如下調用代碼:
private void button1_Click(object sender, EventArgs e)
{
localhost.Service ws = new SmartDeviceProject1.localhost.Service();
MessageBox.Show("Message From webservice: "+ws.HelloWorld());
}
這樣即可測試了,但是這裡有一個問題,就是在搜尋資料時發現webcast中的代碼,webservice的地址不是:
http://localhost:4534/WebSite2/WebService.asmx
而是:
http://wengyuli:4534/WebSite2/WebService.asmx
就是說這個webservice地址的採用的是PC的名稱,不是localhost,可是我兩個都測試過,但是都調用不成功,請知道的朋友提示一下啊 謝謝。
解決方案:
原來綁定網卡的話,如果都按預設設定,模擬器的IP是跟主機IP一樣,所以只要將模擬器IP更換一下就可以了,當然,通過機器名來訪問也可以如:http://wengyuli/website1/webservice.asmx,但是通過localhost是訪問不到的。