ASP.NET Core | The Will Will Web

The Will Will Web

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

如何正確地發行 ASP.NET Core 網站到遠端 IIS 站台

我們最近有專案需要發行一個用 ASP.NET Core 5 開發的網站,有經驗的人應該知道,當網站正在執行時,尤其是 Windows 作業系統,過程中所有 *.dll 檔案都會被鎖定,無法成功覆蓋檔案,以致於自動部署失敗。今天這篇文章我打算來分享幾個常見的作法,以及我認為最好的作法。

... 繼續閱讀 ...

使用 .NET CLI 快速建立 Web API 用戶端函式庫的方法

在 Visual Studio 2019 裡面使用含有 OpenAPI 規格的 Web API 已經是十分便利,只要規格寫的好,Web API 用戶端函式庫只要一秒鐘就可以產生。但其實這些好用的功能背後都是靠 MSBuild 與 NSwag 做到,今天花了一整天把所有技術細節釐清,釐清之後對這整套作法是如此的豁然開朗,感覺很棒。這篇文章我就來寫寫今日的研究心得!

... 繼續閱讀 ...

如何使用 .NET CLI 快速產生 ASP․NET Core 的 Controllers 與 Views 程式碼

我們在 Visual Studio 2019 開發 ASP․NET Core 的時候,都可以透過 [加入] / [控制器] 的方式,很便利的快速產生 Controllers 與 Views 程式碼,如果已經有現成的 Models 模型類別存在,還能快速的完成 CRUD 等實作。可惜在 Visual Studio Code 裡面,似乎就沒有相對應的工具可用,這對使用 macOS 或 Linux 的開發者來說,就顯得有點不太方便。不過,微軟官方其實有提供一套 dotnet-aspnet-codegenerator .NET CLI 全域工具,所做的事情跟 Visual Studio 2019 在做的事情完全一樣,本篇文章就來說說這套工具的用法,以及常見的地雷與注意事項。

... 繼續閱讀 ...

如何在 EF Core 3.1 的模型驗證方法中注入 ServiceCollection 中的服務

由於 .NET Core 大量的使用 DI 技術,所有註冊到 DI 容器(ServiceCollection)的服務,幾乎都可以用「注入」的方式取得物件。只不過有些類別不容易用建構式注入的方式取得服務,這篇文章將分享如何在 EF Core 3.1 的模型驗證方法中注入 ServiceCollection 裡的任何服務。

... 繼續閱讀 ...

如何讓 ASP.NET Core Blazor Server 在斷線時不影響頁面瀏覽

由於第一版 Blazor 屬於連線式的 SPA 應用,所有的頁面變更與資料繫結事實上都是從後端進行計算,透過一種類似 VDOM 的機制,自動計算出網頁要更新的範圍,並且產生必要的 JS 回瀏覽器執行。過程中由於透過 WebSockets 連線,大幅減少前後端通訊的延遲狀況,效率比透過 AJAX 還高出許多。不過預設的 Blazor 專案範本,當網頁在瀏覽器與伺服器斷線時,網頁會無法瀏覽,本篇文章特別點出這個小問題,告訴你該怎樣解決這個小困擾。

... 繼續閱讀 ...

如何實作沒有 ASP.NET Core Identity 的 Cookie-based 身分驗證機制

在 .NET Framework 中,身分認證機制可以使用「表單驗證」(Forms Authentication) 來實作,這種以 Cookie 為基礎的身分驗證方式,相當容易上手,只要學習幾個 API 就可以快速完成實作。本篇文章我將解說如何在 ASP․NET Core 中實作出類似「表單驗證」的身分驗證機制,雖然架構相似,但名稱已改,建議各位日後就稱他為「以 Cookie 為基礎的身分驗證方式」,英文是「 Cookie-based Authentication 」!

... 繼續閱讀 ...

認識 ASP․NET Core 檔案提供者與透過 Web API 下載實體檔案

昨天有位學員問到如何透過 ASP․NET Core Web API 下載檔案,原本認為這只是個簡單的問題,畢竟就只是抓個檔案嘛,哪有什麼難的,隨便 Google 兩下就有答案了。但是這個簡單的問題,卻激起我的好奇心,為什麼以往在 ASP․NET MVC 5 非常簡單的寫法,竟然到了 ASP․NET Core 就不能用了?欲知詳情,請繼續看下去!

... 繼續閱讀 ...

如何在 ASP.NET Core 2.2 使用 Token-based 身分驗證與授權 (JWT)

在 Microsoft Docs 官方文件中,幾乎找不到任何關於 Token-based 身分驗證的做法說明,網路上能找到的都是部落格文章,而且大家的實作方式雖然大同小異,但是大多沒交代細節,甚至有些不具意義的寫法。本篇文章將分享相對簡便的設定方法,順便解說一些技術細節,讓一個沒有實作身分驗證的 ASP.NET Core Web API 專案,可以快速的加入以 JWT 為主的 Token-based 驗證方式。

... 繼續閱讀 ...