I've got a Blazor WASM SPA hosted out of an ASPNET Core Web App (let's call it WebHost1) running in the browser. It authenticates using BFF / IdentityServer for authenticated calls back to the WebHost1 backend. All that works beautifully.
When authenticated locally, it then allows the main game feature which connects to a Hub hosted on a second server (running very basic ASPNET Core (7) Web App) running elsewhere (different sub-domain & port) via SignalR. It does so through https and obviously CORS to reach sub-domain. The call to StartAsync from the WASM in browser is successfully connecting with the second server, confirmed as the OnConnectedAsync event is firing on the second server. I thought the hard part was done -- getting them talking over SSL.
Any subsequent SignalR calls via SendAsync appear to be failing silently. The second server never gets those requests as far as I can tell. There are no failure errors in the WASM App or on the server expecting the incoming calls. The .State on the HubConnection is "Connected" after the initial call to StartAsync. I'm wondering if there might be some naming conventions in that magic land of .NET and Blazor in the browser that are mucking up the target calls to the server? No errors are bubbling up anywhere. I'm basically just trying to get the .SendAsync calls working.
After trying fruitlessly to get logging to give me something, anything, I started questioning the call to SendAsync itself. I ran across an obscure Reddit thread from a few years back, and there I discovered there is an InvokeAsync method as well on the HubConnection. Apparently, according to the reddit thread you're supposed to use that when your Hub is "not strongly typed".
Along the lines of my hunch of naming being mangled in the magic zone, I figured maybe the "type-safeness" is lost in translation with WASM+Blazor+SignalR and gave it a shot. Sure enough, when using InvokeAsync the call is now received on the server. I don't entirely understand the reasons, but it works now and that's going to have to do until/unless somebody smarter than me in this area wants to provide an explanation.