頻寬是有限的,控制回應封包的大小是很重要的議題,縮小封包通常可以很顯著的提高回應的速度。今天說的壓縮回應是縮小封包很重要的方法。雖然 IIS、Apache 和...
單元測試的特性跟優點在這邊就不贅述了,有興趣的可以參考官方文件,或者去上 91 大大的課。今天的重點會擺在如何在 ASP.NET Core MVC 專案中建立單...
ASP.NET MVC 提供了 Area 的功能,讓開發人員可以把相關的功能模組包起來,讓模組有自己的命名空間跟目錄結構。每個模組中都會有自己的 MVC 結構、...
ASP.NET Core MVC 跟 ASP.NET MVC 一樣也提供了 Filter 的功能,以 AOP 的觀念在執行 Action 的前後處理資料。第一次...
這啥? Tag Helpers 可以讓後端程式碼介入 Razor 產生 HTML 的過程中。例如 ImageTagHelper 可以幫圖片路徑加上版本編號,圖片...
在 MVC 架構中,View 負責將結果呈現給客戶端,通常會產生出 HTML 到瀏覽器端顯示。在 ASP.NET Core MVC 中,使用 Razor 語法來...
ASP.NET Core MVC 提供的模型繫結功能會自動將 HTTP 請求中的資料映射到對應的方法參數中。參數類型可以是基本資料型態(例如字串和整數)或複雜的...
路由主要負責將請求轉送到對應的處理程序中。當客戶端的請求符合設定中的 URL 規則時,就會自動執行指定的行為。今天會由簡單到複雜,介紹幾種設定路由的方式。 基本...
MVC 是什麼? MVC 是 Model-View-Controller 的縮寫,在 MVC 架構下,會把應用程式分類成三個不同的組件,也就是模型 (Model...
昨天說了怎麼用 Code First 的方式,先撰寫資料模型再執行 Migration 來建立資料庫。今天就來看看怎麼用 Database First 的方式,...
ASP.NET 框架中有提供 Entity Framework 作為跟資料庫溝通用的 ORM 框架,將資料表轉成 POCO 類別,方便開發人員操作資料庫,用物件...
快取其實也是一種儲存應用程式狀態的方式,因為要花比較多篇幅說明才獨立出一篇。而且官方文件也是不同章節XD 快取會複製一份資料在快取的儲存機制中,讓取值的速度比原...
昨天看了兩種常用的儲存狀態的方式,今天來說明剩下幾種 Cookie Session TempData Query String & Hidde...
由於 HTTP 是無狀態的通訊協定,如果沒有額外處理,每次請求都會是獨立的,沒辦法保留來自客戶端的資料。今天會介紹要怎麼在應用程式中儲存或暫存資料跟狀態。 狀態...
昨天有提到 ASP.NET Core 框架提供的 logging API 對第三方的日誌紀錄框架有很高的支援度。過去我都是使用 NLog 為主,所以今天就來看看...
ASP.NET Core 框架提供的 logging API 讓開發人員可以輕鬆地使用內建或第三方的日誌紀錄框架。今天來說明怎麼在 ASP.NET Core 應...
昨天說明了如何在應用程式中加入不同設定來源的組態設定,並取得設定值。實際的專案中,設定來源常常都是階層式架構,如果每次都要記得那麼長一串的 key 值真的是很麻...
ASP.NET Core 所使用的應用程式設定是由 ConfigurationProvider 所建立的 key-value 資料結構。Configuratio...
ASP.NET Core 支援在不同 runtime 環境可以進行不同的行為。應用程式啟動時,會讀取 ASPNETCORE_ENVIRONMENT 環境變數來判...
靜態 HTML、CSS、圖檔和 JavaScript 之類的靜態檔案,一般都是由應用程式直接提供給客戶端。在 ASP.NET Core 應用程式中,需要做一些設...
昨天講了中介層的觀念,今天我們來實作中介層! 中介層通常會以一個類別封裝起來,再由擴充方法曝露。假設現在有個需求,要透過 URL 中一個區塊來決定語系。範例程...
簡介 中介層會組成應用程式的 pipeline,用來處理 Web 的請求和回應。每個中介層元件都可以: 選擇是否要把請求傳到 pipeline 中下一個元件。...
依賴注入這個主題大概就可以寫五天了吧(?),這個系列就不多作介紹了,詳細的可以參考英文微基,網路上也有很多相關文章 (其實是自己講不清楚)。今天會針對如何在 A...
Startup 類別是 Web 應用程式的進入點,可以在這個類別中設定應用程式要使用的服務和處理請求的 pipeline。 Startup 類別 一般習慣會將啟...
ASP.NET Core 的網頁應用程式其實是一個在 Main 方法中建立網頁伺服器的主控台應用程式。(有點像 Node.js 的 listen port?)...
開發 C#,就不能不提到號稱 地表最強 IDE 的 Visual Studio (下面簡稱 VS) 了 (其實我也都是用 VS 在開發XD)。 VS 提供完整的...
Visual Studio Code 是現在許多人選擇的開發環境,比起 Visual Studio 輕量許多,可以透過安裝各種擴充功能來滿足不同開發人員、不同程...
今天來先來裝需要的環境 需要的OS環境 OS環境Windows、Linux、Mac OS任一都行,主要操作是用dotNet CLI和VS Code不用擔心會有不...
這次我們要來看Aggregate的原始碼,由上一章的介紹可以知道Aggregate的功能是把前面元素的彙整結果傳到目前的元素再跟其合併並且再傳至下個元素,這樣累...
今天要來說說Take的原始碼,由於Take跟Skip非常的相似,所以有些部分在Skip已經說過了,在這裡就只會帶過,不會再深入的說明,這裡建議可以先回去看Ski...