The Server Side Blazor and SignalR Timeout
So in my Blazor travels I ran across one (or another) annoying thing. In this one we will talk about that Server -Timeout? Disconnect? Retry? Not really sure which one it is.
This affects Blazor Server Side where SinalR is being used between the browser and server side code.
I came across some Javescript that can go into the _Host.cshtml file.
<script> // Wait until a 'reload' button appears new MutationObserver((mutations, observer) => { if (document.querySelector('#components-reconnect-modal h5 a')) { // Now every 10 seconds, see if the server appears to be back, and if so, reload async function attemptReload() { await fetch(''); // Check the server really is back location.reload(); } observer.disconnect(); attemptReload(); setInterval(attemptReload, 10000); } }).observe(document.body, { childList: true, subtree: true }); </script>
Not really a solution but let’s see. The script is basic and checks the connection and reloads the page as needed.
There’s a full run down here ASP Core Issues. Another good resource is this docs page ASP.NET Core SignalR configuration.
Happy Blazor-ing!
~ScottGeek