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