使用場景:
需要從數(shù)據(jù)中心獲得用戶數(shù)據(jù),并以此為標(biāo)準(zhǔn),同步系統(tǒng)的用戶信息,對系統(tǒng)中多余的用戶進(jìn)行刪除操作,缺失的用戶進(jìn)行添加操作,對信息更新了的用戶進(jìn)行編輯操作更新。
所以需要通過對數(shù)據(jù)中心以及系統(tǒng)現(xiàn)有用戶信息進(jìn)行比較,分為三部分:
(1)Linq取差集,找出需要刪除的用戶數(shù)據(jù),進(jìn)行刪除(USERNAME為唯一值字段)。
使用的是Except這個方法。

(2)使用Linq提供的Intersect方法,取得兩個用戶集合的交集,遍歷檢查進(jìn)行更新。

(3)同樣再次取差集,但這次是新的用戶信息集合Except現(xiàn)有用戶信息,獲取需要添加的數(shù)據(jù)集合,執(zhí)行添加操作。

一般的網(wǎng)絡(luò)請求方法都會返回連接的狀態(tài)信息,比如iOS中NSURLConnection對應(yīng)“- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse*)response ”(當(dāng)然現(xiàn)在推薦使用NSURLsession或AFNetworking等第三方庫)
C#肯定也提供了類似的方法,即GetResponseAsync,獲得請求的HTTP代碼進(jìn)行進(jìn)行判斷。

需要注意的是,在這之前還應(yīng)該對URL地址輸入框進(jìn)行一個輸入驗(yàn)證,因?yàn)榭赡茌斎氲木筒皇且粋€URL地址。
對于ArcGIS的動態(tài)服務(wù)ArcGISDynamicMapServiceLayer以及切片服務(wù)ArcGISTiledMapServiceLayer,也可以通過InitializationFailed這個方法做一個簡單的服務(wù)有效性驗(yàn)證。
使用場景:
需要做創(chuàng)建角色以及編輯角色兩種操作,操作窗口顯示的信息完全一樣,差異在于編輯角色信息時不能修改角色名稱,以及數(shù)據(jù)庫交互略有差異。
所以完全可以只畫一個窗口,針對不同場景做不同操作。通過重載構(gòu)造函數(shù)(編輯操作對應(yīng)的構(gòu)造函數(shù)需要傳入角色信息),并設(shè)定一個字段標(biāo)識方便差異化處理即可。
對于窗口中顯示是否能夠編輯,對輸入框的IsReadOnly屬性進(jìn)行綁定,編輯操作時屬性值為true,只讀;
對于窗口名稱,同樣做綁定處理,根據(jù)不同操作顯示不同名稱;
對于數(shù)據(jù)庫交互差異,同樣可以通過判斷標(biāo)識符canEdit對差異化部分分類處理。



新聞熱點(diǎn)
疑難解答
圖片精選