.NET5 Blazor WASM + SignalR 手札

於 Blazor WASM 預設的通訊方式是 HTTP,不過我們想用 SignalR 做為 Blazor WASM 的主要通訊方法。SignalR 本身是設計成非同步通訊的,其實它也可以同步通訊。必竟大部份的商業表單運算與資料交換還是以同步通訊為主因為這樣比較好控制。

參考文章

下面文章說明如何在 Blazor WASM 專案加入 SignalR 支援,故本人不再說明。這裡的 SignalR 正式的名稱是:ASP.NET Core SignalR

搭配使用 SignalR ASP.NET Core Blazor

下面文章有 SignalR 同步指令 InvokeAsync<TResult> 的範例,故本人不再說明。

ASP.NET Core SignalR .Net 用戶端

一些指令紀錄

  • 非同步通訊用 SendAsync(...)

  • 同步通訊用InvokeAsync<TResult>(...),可用來取代HTTP通訊。

記錄練習過程中比較另人在意的部份。

Client Side

Server Side

SignalR Hub 範例

新增中樞的服務和端點 SignalR

先這樣。

Last updated