透過.NET Core內建的分散式快取介面,加入Redis快取服務
2024-04-30
透過.NET Core內建的分散式快取介面,加入Redis快取服務
Http本身是無狀態的,每次request都是各自獨立,但在有權限控管的情境下總不能讓使用者每次操作都要輸入一次帳密,因而延伸出許多記錄狀態的解決方案,其中常見的就是Cookie與Session。平常在使用時沒深入研究兩者的差異,因此找個時間簡單紀錄一下兩者的特性。
因為有打算提案將手邊負責的系統從ASP.NET改成.NET Core版本,查詢微軟的文件後簡單整理一下兩者的差異,供未來翻寫時做參考。
在學習ASP.NET Core基本CRUD的過程中暫時不打算另外弄一個DB,因此先讓EF Core使用InMemory Provider。未來在測試時也可以改用InMemory Provider,塞入預先準備好的資料給unit test使用。
在開發ASP.NET專案時,常常會使用HttpClient來call API。但HttpClient不像SqlConnect底層有connection pool的機制,若每次使用完馬上關閉連線,下次使用時還要耗費額外的資源重新開啟連線,但一直保持連線開啟又可能耗盡資源。在.net core2.1後新增的HttpClientFactory可以統一管理HttpClient的連線。
在使用ASP.NET時,都是使用ConfigurationManager去存取config檔,但在ASP.NET Core改為注入的方式存取。除了讀取config檔外,還能從不同來源載入設定,最重要的是:讀進來後可以用強型別了。
在ASP.NET Core剛問世時,我就對這個全新的技術有興趣,並看了許多功能介紹。但只看各個功能太破碎了,缺少了一個系統性的學習過程,因此決定一步一步認識這個新技術。