ASP.NET MVC 回鍋開發的參考筆記

2021-11-29

筆記回鍋進行 ASP.NET MVC 開發的注意事項,重要資訊直接 Load 到頭腦的快速存取區,不用在費力回憶,掛一漏萬 😎

logo

說明

Git

首先確認專案是否加入版控,如果沒有,馬上加入。一開始先處理元件的更新,檢查是否有不安全的元件,例如 OutDated jQuery。

版控來控制問題與處理,步驟與步驟之間留下 Commit 方便追蹤與修正。

Visual Studio 使用 Git 版本控制

關於 Layout & Style

確認目前使用的函式庫,如果是 CDN 來源的改用 LibMan 來管理。

LibMan

BS的版本如果太舊,直接 BS3 升 BS4 版型可能會大爆炸,而如果待在 BS3,新版本好用的 CSS Utilities 可以自己補上去。

Utitlty Usage
mr margin right
ml margin left
mt margin top
mb margin bottom
p-1 pargin scale
text-lg text font size
fr float right
fl float left

函式庫最好是在 Layout 引用並包成 Bundle,客製的 CSS, JS 也加入其中,這樣 Nuget 或者 LibMan 的更新才會自動加入,並且享受 Bundle Minify 的好處。

Database Model

從 Web.config 與 Model\EDMX 確認模型來源 Database Server、Database 以及 User,並注意 Production 與 Test 是否不同。

如何使用 EntityFramework 從資料庫到模型的建立步驟太經典,馬上回憶起來:

ASP.NET MVC EntityFramework Model (Database First)

資料表的設計很容易,但需要經驗的堆砌:

  • 主鍵必備
  • 識別屬性
  • 自動遞增
  • Schema
  • 使用者權限

資料表的設計,目前還缺少搭配關聯的快速參照,如何一對一、一對多、多對多設計,才能結合 EntityFramework 以及 Scaffolding 讓一切省力。

Partial Class

Partial Class 馬上加入,不要手動改 Display,讓預設 Scaffolding 顯示美美的。

如何加入 PartialCLass & DataAnnotations

Log 處理

每個應用系統對於 Log 處理都不能少,尤其是在符合 SSDLC 開發的稽核與可歸責性要求下,不要費心自幹 Log 解決方案了,使用 NLog 輕鬆秒殺 Log 需求並且為未來的擴充預留彈性吧。

ASP.NET MVC NLog Tutorial

客製化錯誤

預設的錯誤畫面不 OK,在本機開發享受詳盡的錯誤資訊、在用戶端提供美化的錯誤訊息但仍保持正確的 Http Status Code 顯示。

ASP.NET MVC 客製錯誤畫面實務 (ASP.NET MVC Custom Error Practice)

常用的功能

🧷 保存在 Web.config 的資料,勝過硬寫在程式碼當中

從 Web.Config 讀取 Property 的方式

📁 上傳的功能不猶豫馬上加入,但還沒有設計更換檔案的理想實作方式。

ASP.NET MVC 5 實作更安全的檔案上傳功能

🔐 AD 身分驗證搭配 CAPTCHA

ASP.NET MVC 實作登入驗證碼 (CAPTCHA)

.NET 藉由 LDAP 驗證 AD 使用者的帳號與密碼

🔐 有人需要來點快速的加鹽雜湊嗎?

Helpers.Crypto

🚨 Debug 御用,馬上告訴我伺服器的資訊

Helpers.ServerInfo

📆 如果需要 DateTimePicker 那就來吧

ASP.NET MVC 5 使用 DateTimePicker

⭐一秒鐘表格變格格,快速實作表格的排序、搜尋、篩選功能

DataTables

🚄 用暫存提升效能、減少伺服器負擔,犧牲即時性

ASP.NET OutputCache