ASP.NET Core 練功筆記 1

也差不多該開始玩 ASP.NET Core 了。最近剛好有個適合練功的題材,拿了 ASP.NET Core + Vue.js 上場演練,將一路上參考到的資源及瑣碎心得理成筆記備忘。

  1. 關於 ASP.NET Core,MVP John Wu 有一系列 IT 鐵人文,是新手上路很不錯的參考:
    [鐵人賽 Day01] ASP.NET Core 2 系列 - 從頭開始 - John Wu's Blog
  2. 如果你習慣 IDE 開發不喜歡下指令,那麼 Visual Studio 仍是開發 ASP.NET Core 的首選,有可能從建立專案、寫程式到測試都不必動用命令列視窗。不過如果你看中的是 .NET Core 跨平台優勢,那麼學習使用 dotnet 命令列指令是必修課程。
    用命令工具建專案沒想像中複雜,例如以下幾個步驟就能建好一個可執行的空白 ASP.NET Core 網站:(要建立包含 MVC Controllers/Views 基本結構專案的話,則是用 dotnet new mvc)
  3. 免費且跨平台的 Visual Studio Code(簡稱VSCode),有愈來愈流行的趨勢,尤其涉及前端開發時,VSCode 已是主流,網路參考資源豐富超多,如果想學習進階的前端開發,無可避免得將 VSCode 列為必修課程。
  4. 簡短試用比較過 VSCode 跟 Visual Studio 2017,二者是不同量級的開發工具,各有其專長。
    VS2017 對 ASP.NET Core 的支援十分完整(記得要更新到最新 Update),具備像是 Add View、Go To View 等便捷功能,跟開發 ASP.NET MVC 4/5 的體驗差不多。
    VSCode 則較像一個開發環境框架,支援程度由所安裝的擴充套件決定,想補足平日慣用的 VS2017 功能,一方面需要花時間尋找組裝,另一方面有些功能還沒有現成的擴充套件可用,故開發體驗不如 VS2017。但在 JavaScript / TypeScript 方面,VSCode 支援的完整度與時效性,以及網路參考資源的豐富程度則遠勝 VS2017。
    最後我琢磨出來較順手的做法是 - 用 VSCode 及 VS2017 開啟同一個專案,寫 MVC/C# 端時用 VS2017,寫到 TypeScript 再切換成 VSCode,各取其優勢。
  5. ASP.NET Core 的專案結構跟 ASP.NET 大不相同,已經看不到 Global.asax / web.config 這些東西,取而代之的是改用 Program.cs 起始,以 OWIN 方式設定網站執行細節。也因此,ASP.NET Core 完全擺脫對 IIS 的依賴,可靠內建的 Kestrel 伺服器單獨執行,也可以搭配 IIS、Nginx、Apache 等 Reverse Proxy 伺服器對外提供服務,借重 Reverse Proxy 滿足安全防護、負載平衡、快取上的較高規格要求。
    ASP.NET Core 中的網頁伺服器實作 - Microsoft Docs
  6. 原本想在 ASP.NET Core 使用 SQLite + Dapper,不幸目前 SQLite ADO.NET 套件還不支援 Core 版本,倒是在 EntityFramework 相關支援已經齊全。順勢調整架構,也練習一下 EF 吧!
    -NET Core 使用者入門 - 新資料庫 - EF Core - Microsoft Docs
  7. .NET Core 預設不再使用 app.config 或 web.config 設定檔,取而代之是多樣化的設定保存選項,像是 INI/JSON/XML/環境變數/記憶體。我個人偏好 JSON,做法可參考 ASP.NET Core 的設定 - Microsoft Docs

未完待續...

歡迎推文分享:
Published 09 August 2018 07:03 AM 由 Jeffrey
Filed under: ,
Views: 3,666



意見

# Calos said on 08 August, 2018 09:14 PM

「也可以搭配 IIS、Ngix、Appach 等 Reverse Proxy 伺服器對外提供服務」

Ngix 和 Appach 是不是 key 錯了?

# Jeffrey said on 09 August, 2018 12:39 AM

to Calos, 靠,發文前明明有校過稿... 我沒救了。謝謝指正。

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<August 2018>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678
 
RSS
創用 CC 授權條款
【廣告】
twMVC

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication