Windows Phone App 必備的資料快取 Framework – AgFx

在開發 App 程式時, 程式的反應速度是影響使用者操作體驗重要的因素. 尤其是行動裝置常處在網路不穩的環境 (如捷運人多時, 或3G 訊號較弱時) . 為了確保使用者在來回操作App的過程中, 不需要反覆的存取網路上相同的資料, 因此在這邊推薦給Windows Phone 的開發者,  AgFx 這個相當棒的資料快取 Framework. 原作者已經提供一個相當清楚的 Step by Step  Sample. 主要有五個步驟: 1. 分析你的資料來源: 通常是確認資料來源如何解析, 筆者通常會先試著寫程式解析看看. 例如資料源是Json 就用 Json.Net 先Parse 成 Data Object. XML .     eg.    MyDataObject myDataObject= (MyDataObject )JsonConvert.DeserializeObject(contents, typeof(MyDataObject ));   2. 找出要快取資料的Key 值: 也就是系統用來辨識這個資料是不是已經存在快取資料區中的唯一依據.     Key 值建議是string(如果是複雜的Key值, 不是string 的話, 要額外實作一個ToString()的方法) , 同時宣告一個繼承 AgFx LoadContext 物件的 LoadContext物件.               public class…


Azure分散式快取服務(AppFabric Caching Service)應用與簡介

Windows Azure 分散式快取服務(AppFabric Caching Service)在四月底已經正式上線,並且在八月一號前提供免費的試用。AppFabric Caching Service主要是提供純記憶體空間(In Memory)的資料存取,由於不涉及到實體硬體的I/O動作,存取效能可以大幅提升。從國外的測試案例,資料透過Windows Azuer分散式快取服務會比直接存取SQL Azure快將近3~7倍以上,尤其是多個Talbe的關聯查詢,存取效能提升更為明顯。 AppFabric Caching Service有幾項特點: 內建提供Session State 及Page Output Caching的ASP.Net Provider,可在不修改程式碼的情況下引用AppFabric Caching Service,提升網頁回應速度。 可進行任何Managed物件的快取 可快速整合到現有應用程式 在Windows Azure AppFabric 跟Windows Server AppFabric間提供一致的開發模式 透過Windows Azure AppFabric 另外一個存取控制服務( Access Control service)可進行授權管控及安全的資料存取  由於AppFabric Caching Service的計價是依據Cache容量分級,不同的系統在成本與效能的需求不一樣,Cache容量越高Cache物件數越多系統反應時間也越快,但相對成本也越高,建議在架構規劃上須先根據系統情境做測試與試算。 如果想嘗試AppFabric Caching Service,一樣可以到http://portal.appfabriclabs.com/ ,選擇Name 服務跟Namespace及所需要的容量。目前在appfabriclabs可申請的容量有128MB 跟256MB,如果在正式的http://windows.azure.com/網站上就可以看到全部可以選擇的容量(128MB~4GB)。 Azure 分散式資料快取技術的應用情境上大致有以下三類: 快取內容 範例 存取類型 參考型資料 產品類別 大量讀取、定期更新資料 活動型資料 購物車、網頁Session 活動過程中暫存,活動結束後寫到資料庫 資源型資料…