發表文章

目前顯示的是 6月, 2021的文章

Blazor 如何處裡狀態?(三)

圖片
Blazor 如何處裡狀態?(三) 前言 先前分享過幾篇關於 Blazor 的狀態保存,先前關於狀態保存有許多錯誤的地方,比如:其實 .NET Core 本身就有 IMemoryCache 或者是 Singleton 物件可以做到『狀態保存』這件事情。所以,本篇再次快速地向各位尋覽一下所有關於 Blazor 裡狀態如何保存這件事情。 .NET Conf 2020 的演講內容 小弟在去年的 .NET Conf 2020 的分享: Blazor Components 開發實戰 裡面也重新的介紹 Blazor 的狀態保存,當時我分為五種: 上圖、取自我在.NET Conf 2020 中的投影片: Blazor Components 開發實戰   今天我們來介紹我在  Blazor Components 開發實戰  的 Slide 上講到的幾種方式:  有興趣的參考上方我在 .NET Conf  2020 Taiwan 所分享的 Blazor Components 開發實戰 的投影片。 (一)、資料庫  (二)、協力廠商支援 Cache(Redis, Others…)  (三)、保存記憶體內容狀態 (.NET Core)  (四)、Browser Local Storage  (五)、URL 底下,筆者以範例程式來說明這幾種的用法、差異的比較。 (一)、資料庫 資料庫的做法,其實我相信俗果可以用資料庫,保存哪有什麼問題 XD,如果可以用資料庫,相信這大家都很熟,我們就... 略過吧?..(咦?) (二)、協力廠商支援 Cache(Redis, Others…) 在協力廠商的支援裡,除了 Redis Cache 外,訪間其他種類的 NoSQL 產品,像是建立分散式資料庫的 Cassandra、Hadoop 等等的 key-value 形式的巨量系統其實也都可以算在內的,而這邊我們以常見的 Redis 來介紹基本的用法。 (1). 首先建立 Blazor Server 專案 (2). 建立 .NET Core/.NET Standard 類別庫專案 這裡一樣套用部分整潔架構 ( Clean Architecture ),為什麼說部份呢?因為這裡目前無任何商業邏輯 (Domain Layer) 與 (app service/u