L'application Blazor vérifiera s'il y a un élément html avec id ={dialogId} dans la page:
Si un tel élément n'existe pas, il utilisera le gestionnaire par défaut pour afficher le message.
Si cet élément existe, cet élément classsera:
défini comme components-reconnect-showlors d'une tentative de reconnexion au serveur,
défini comme components-reconnect-failedlorsqu'il n'a pas réussi à se connecter au serveur.
défini comme components-reconnect-refusedsi le navigateur atteignait le serveur pendant que le serveur rejetait activement la connexion
Par défaut, le dialogIdest components-reconnect-modal. Vous pouvez donc créer un élément dans la page et utiliser CSS pour contrôler le contenu et les styles comme vous le souhaitez.
Démo:
Par exemple, je crée trois parties de contenu à afficher dans Pages/_Host.cshtml:
<divid="components-reconnect-modal"class="my-reconnect-modal components-reconnect-hide"><divclass="show"><p>
This is the message when attempting to connect to server</p></div><divclass="failed"><p>
This is the custom message when failing </p></div><divclass="refused"><p>
This is the custom message when refused</p></div></div><app>
@(await Html.RenderComponentAsync<App>(RenderMode.ServerPrerendered))</app><scriptsrc="_framework/blazor.server.js"></script>
Merci. Étrange qu'ils l'aient placé sous des modèles d'hébergement
Aaron Hudon
@AaronHudon car cela ne se produit que si nous utilisons le modèle Blazor Server Side :)
itminus
1
Il semble que ces informations soient déplacées ici .
drs9222
9
Pour le côté javascript des choses, Blazor expose une toute petite API via l' window.Blazorobjet.
Une partie de cette API est la defaultReconnectionHandlerqui vous permet de personnaliser l'expérience de reconnexion, y compris la définition de différentes options pour le nombre de retrys, etc.
Cependant, il est également possible d'échanger simplement la logique d'affichage du ReconnectionDisplay
Une implémentation simple ressemble à ceci et vous permet de contrôler le processus:
Eh bien, c'est aussi un moyen de le résoudre. Mais je préfère le moyen de @itminus davantage. Merci tout de même.
Melon NG
Bien sûr, cela dépend de votre cas d'utilisation. Si vous avez besoin de plus de contrôle (par exemple, exécuter du code personnalisé lorsque la connexion échoue), l'utilisation de l'API est la solution. Si vous souhaitez simplement échanger l'interface utilisateur, vous pouvez utiliser la suggestion @itminus.
Pour le côté javascript des choses, Blazor expose une toute petite API via l'
window.Blazor
objet.Une partie de cette API est la
defaultReconnectionHandler
qui vous permet de personnaliser l'expérience de reconnexion, y compris la définition de différentes options pour le nombre de retrys, etc.Cependant, il est également possible d'échanger simplement la logique d'affichage du
ReconnectionDisplay
Une implémentation simple ressemble à ceci et vous permet de contrôler le processus:
la source