使用場(chǎng)景:
需要從數(shù)據(jù)中心獲得用戶數(shù)據(jù),并以此為標(biāo)準(zhǔn),同步系統(tǒng)的用戶信息,對(duì)系統(tǒng)中多余的用戶進(jìn)行刪除操作,缺失的用戶進(jìn)行添加操作,對(duì)信息更新了的用戶進(jìn)行編輯操作更新。
所以需要通過(guò)對(duì)數(shù)據(jù)中心以及系統(tǒng)現(xiàn)有用戶信息進(jìn)行比較,分為三部分:
(1)Linq取差集,找出需要?jiǎng)h除的用戶數(shù)據(jù),進(jìn)行刪除(USERNAME為唯一值字段)。
使用的是Except這個(gè)方法。
(2)使用Linq提供的Intersect方法,取得兩個(gè)用戶集合的交集,遍歷檢查進(jìn)行更新。
(3)同樣再次取差集,但這次是新的用戶信息集合Except現(xiàn)有用戶信息,獲取需要添加的數(shù)據(jù)集合,執(zhí)行添加操作。
一般的網(wǎng)絡(luò)請(qǐng)求方法都會(huì)返回連接的狀態(tài)信息,比如iOS中NSURLConnection對(duì)應(yīng)“- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse*)response ”(當(dāng)然現(xiàn)在推薦使用NSURLsession或AFNetworking等第三方庫(kù))
C#肯定也提供了類似的方法,即GetResponseAsync,獲得請(qǐng)求的HTTP代碼進(jìn)行進(jìn)行判斷。
需要注意的是,在這之前還應(yīng)該對(duì)URL地址輸入框進(jìn)行一個(gè)輸入驗(yàn)證,因?yàn)榭赡茌斎氲木筒皇且粋€(gè)URL地址。
對(duì)于ArcGIS的動(dòng)態(tài)服務(wù)ArcGISDynamicMapServiceLayer以及切片服務(wù)ArcGISTiledMapServiceLayer,也可以通過(guò)InitializationFailed這個(gè)方法做一個(gè)簡(jiǎn)單的服務(wù)有效性驗(yàn)證。
使用場(chǎng)景:
需要做創(chuàng)建角色以及編輯角色兩種操作,操作窗口顯示的信息完全一樣,差異在于編輯角色信息時(shí)不能修改角色名稱,以及數(shù)據(jù)庫(kù)交互略有差異。
所以完全可以只畫(huà)一個(gè)窗口,針對(duì)不同場(chǎng)景做不同操作。通過(guò)重載構(gòu)造函數(shù)(編輯操作對(duì)應(yīng)的構(gòu)造函數(shù)需要傳入角色信息),并設(shè)定一個(gè)字段標(biāo)識(shí)方便差異化處理即可。
對(duì)于窗口中顯示是否能夠編輯,對(duì)輸入框的IsReadOnly屬性進(jìn)行綁定,編輯操作時(shí)屬性值為true,只讀;
對(duì)于窗口名稱,同樣做綁定處理,根據(jù)不同操作顯示不同名稱;
對(duì)于數(shù)據(jù)庫(kù)交互差異,同樣可以通過(guò)判斷標(biāo)識(shí)符canEdit對(duì)差異化部分分類處理。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注