原创 【ASP.NET Core】在node.js上託管Blazor WebAssembly應用

由於 Blazor-WebAssembly 是在瀏覽器中運行的,通常不需要執行服務器代碼,只要有個“窩”能託管並提供相關文件的下載即可。所以,當你有一個現成的 Blazor wasm 項目,沒必要用其他語言重寫,或者你不想用 ASP.NET

原创 【ASP.NET Core】修改Blazor.Server的Hub地址後引發的問題

Blazor Server,即運行在服務器上的 Blazor 應用程序,它的優點是應用程序在首次運行時,客戶端不需要下載運行時。但它的代碼是在服務器上執行的,然後通過 SignalR 通信來更新客戶端的 UI,所以它要求必須建立 Web S

原创 【ASP.NET Core】標記幫助器——替換元素名稱

標記幫助器不僅可以給目標元素(標記)插入(或修改)屬性,插入自定義的HTML內容,在某些需求中還可以替換原來標記的名稱。 比如我們在使用 Blazor 時很熟悉的 Component 標記幫助器。在 Razor 文檔中你將使用 <Compo

原创 【ASP.NET Core】標記幫助器——元素篩選

前一篇中老周從標記幫助的底層介紹關鍵性的接口,如 ITagHelper ,它是一個標誌,用於識別哪些類屬於 Tag Helper。 標記幫助器畢竟是針對 HTML 標記的,所以得篩選。說白了就是我寫的這個幫助器在哪些 HTML 標記上起作用

原创 【ASP.NET Core】標記幫助器——抽象層

標記幫助器,即 Tag Helpers。這個嘛,就直接翻譯了,叫“標記幫助器”,雖然不好聽,但只能這樣了。當然你翻譯爲“標記增強器”也行。 所謂標記幫助器,就是針對 HTML 標籤(不管是標準的還是自己命名的)進行擴展的做法。它是以 Raz

原创 【ASP.NET Core】動態映射MVC路由

ASP.NET Core 中的幾大功能模塊(Razor Pages、MVC、SignalR/Blazor、Mini-API 等等)都以終結點(End Point)的方式公開。在HTTP管道上調用時,其擴展方法基本是以 Map 開頭,如 Ma

原创 【ASP.NET Core】用配置文件來設置授權角色

在開始之前,老周先祝各個次元的夥伴們新春快樂、生活愉快、萬事如意。 在上一篇水文中,老周介紹了角色授權的一些內容。本篇咱們來聊一個比較實際的問題——把用於授權的角色名稱放到外部配置,不要硬編碼,以方便後期修改。 由於要配置的東西比較簡單,咱

原创 【ASP.NET Core】按用戶角色授權

上次老周和大夥伴們分享了有關按用戶Level授權的技巧,本文咱們聊聊以用戶角色來授權的事。 按用戶角色授權其實更好弄,畢竟這個功能是內部集成的,多數場景下我們不需要擴展,不用自己寫處理代碼。從功能語義上說,授權分爲按角色授權和按策略授權,而

原创 【ASP.NET Core】按用戶等級授權

驗證和授權是兩個獨立但又存在聯繫的過程。驗證是檢查訪問者的合法性,授權是校驗訪問者有沒有權限查看資源。它們之間的聯繫——先驗證再授權。 貫穿這兩過程的是叫 Claim 的東東,可以叫它“聲明”。沒什麼神祕的,就是由兩個字符串組成的對象,一曰

原创 【ASP.NET Core】MVC操作方法如何綁定Stream類型的參數

咱們都知道,MVC在輸入/輸出中都需要模型綁定。因爲HTTP請求發送的都是文本,爲了使其能變成各種.NET 類型,於是在填充參數值之前需 ModelBinder 的參與,以將文本轉換爲 .NET 類型。 儘管 ASP.NET Core 已內

原创 【ASP.NET Core】MVC控制器的各種自定義:IActionHttpMethodProvider 接口

IActionHttpMethodProvider 接口的結構很簡單,實現該接口只要實現一個屬性即可——HttpMethods。該屬性是一個字符串序列。 這啥意思呢?這個字符串序列代表的就是受支持的 HTTP 請求方式。比如,如果此屬性返回

原创 【ASP.NET Core】MVC控制器的各種自定義:特性化的路由規則

MVC的路由規則配置方式比較多,咱們用得最多的是兩種: A、全局規則。就是我們熟悉的”{controller}/{action}“。 app.MapControllerRoute( name: "bug",

原创 【ASP.NET Core】MVC控制器的各種自定義:修改參數的名稱

在上一篇中,老周演示了通過實現約定接口的方式自定義控制器的名稱。 至於說自定義操作方法的名稱,就很簡單了,因爲有內置的特性類可以用。看看下面的例子。 [Route("[controller]/[action]")] pub

原创 【ASP.NET Core】MVC控制器的各種自定義:應用程序約定的接口與模型

從本篇起,老週會連發N篇水文,總結一下在 MVC 項目中控制器的各種自定義配置。 本文內容相對輕鬆,重點討論一下 MVC 項目中的各種約定接口。畢竟你要對控制器做各種自定義時,多數情況會涉及到約定接口。約定接口的結構都差不多,均包含一個 A

原创 用 VS Code 搞 Qt6:讓信號和槽自動建立連接

Qt 具備讓某個對象的信號與符合要求的槽函數自動建立連接。弄起來也很簡單,只要調用這個靜態方法即可: QMetaObject::connectSlotsByName(...); connectSlotsByName 方法需要一個參數,此