The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

如何變更 ASP.NET Core MVC 的預設 HtmlEncoder 的編碼範圍

我們公司這幾年由於專案大多都是前後端分離的架構,所以很少用 ASP.NET Core MVC 來開發網站,但最近公司有個專案用到 ASP.NET Core MVC 框架,看到了一段 Code 覺得很陌生,所以就研究了一下,這才發現 ASP.NET Core MVC 在處理 HtmlEncode 的時候,預設的編碼範圍跟 ASP.NET MVC 有些不同,這篇文章就來記錄一下這些技術細節。

... 繼續閱讀 ...

深入理解 ASP.NET MVC 與 ASP.NET Core MVC 擴充驗證屬性的改變

我在 2013 年的 ASP.NET MVC 開發心得分享 (24):擴充部分類別的建構子 文章中,是我第一次介紹 .NET Framework 年代的 ASP.NET MVC 如何替「實體資料模型」(Entity Data Model) 在有使用 EDMX 自動產生程式碼的情況下如何還能擴充現有的「實體模型類別」(Entity Model Class) 的「驗證屬性」(Validation Attributes)。但直到 ASP.NET Core 的 MVC 開始,作法有點改變了,這篇文章我來記錄一下這些變化的地方。

... 繼續閱讀 ...

啟用 Razor 執行階段編譯 (Enable Razor runtime compilation) 技術細節探索

其實我們這幾年幾乎都在用前後端分離的架構在開發網站,單純使用 ASP.NET Core MVC 的機會並不多,但是我知道很多人還是在用 MVC 在維護網站,而且 ASP.NET Core 預設會將所有 Razor 頁面 (Views) 編譯成 DLL 檔,網站啟動之後如果要修改 View 的內容,還需要重新編譯專案才能測試到新的結果,非常不方便。如果要啟用所謂的 Razor 執行階段編譯 (Razor runtime compilation) 就要對專案做出一點設定,但是網路上能查到的文件都沒有對技術細節講的足夠深入,所以我也花了一些時間探索了許多技術細節,打算在這篇文章呈現。

... 繼續閱讀 ...