Démarrage rapide : Créer une salle de conversation avec ASP.NET et SignalR Service
Azure SignalR Service est basé sur SignalR pour ASP.NET Core 2.1. Cela signifie qu’il n’est pas 100 % compatible avec ASP.NET SignalR. Azure SignalR Service a réimplémenté le protocole de données ASP.NET SignalR en s’appuyant sur les technologies ASP.NET Core les plus récentes. Quand vous utilisez Azure SignalR Service pour ASP.NET SignalR, certaines fonctionnalités d’ASP.NET SignalR ne sont plus prises en charge : par exemple, Azure SignalR ne relit pas les messages quand le client se reconnecte. En outre, le transport Forever Frame et JSONP ne sont pas pris en charge. Certaines modifications du code et la version appropriée des bibliothèques dépendantes sont nécessaires pour que l’application ASP.NET SignalR fonctionne avec Azure SignalR Service.
Pour obtenir la liste complète de comparaisons entre les fonctionnalités d’ASP.NET SignalR et d’ASP.NET Core SignalR, voir la documentation sur les différences entre les versions.
Dans ce guide de démarrage rapide, vous découvrez comment démarrer avec ASP.NET et Azure SignalR Service pour une application de salle de conversation similaire.
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Important
Des chaînes de connexion brutes sont utilisées dans cet article à des fins de démonstration uniquement.
Une chaîne de connexion contient les informations d’autorisation requises pour que votre application accède au service Azure Web PubSub. La clé d’accès à l’intérieur dans la chaîne de connexion est semblable à un mot de passe racine pour votre service. Dans les environnements de production, protégez toujours vos clés d’accès. Utilisez Azure Key Vault pour gérer et permuter vos clés de façon sécurisée, et sécurisez votre chaîne de connexion en utilisant Microsoft Entra ID.
Évitez de distribuer des clés d’accès à d’autres utilisateurs, de les coder en dur ou de les enregistrer en texte brut dans un emplacement accessible à d’autres personnes. Effectuez une rotation de vos clés si vous pensez qu’elles ont pu être compromises.
Prérequis
Vous rencontrez des problèmes ? Essayez le guide de résolution des problèmes ou faites-le nous savoir.
Connexion à Azure
Connectez-vous au portail Azure avec votre compte Azure.
Vous rencontrez des problèmes ? Essayez le guide de résolution des problèmes ou faites-le nous savoir.
Dans cette section, vous créez une instance Azure SignalR de base pour votre application. Les étapes suivantes utilisent le portail Azure pour créer une nouvelle instance, mais vous pouvez également utiliser Azure CLI. Pour plus d’informations sur la commande az signalr create, consultez la documentation de référence sur l’interface CLI Azure SignalR Service.
- Connectez-vous au portail Azure.
- En haut à gauche de la page, sélectionnez + Créer une ressource.
- Dans la page Créer une ressource, dans la zone de texte Rechercher dans les services et la Place de marché, entrez signalr, puis sélectionnez SignalR Service dans la liste.
- Dans la page SignalR Service, sélectionnez Créer.
- Sous l’onglet Informations de base, vous devez entrer les informations de base concernant votre nouvelle instance SignalR Service. Saisissez les valeurs suivantes :
Champ | Valeur suggérée | Description |
---|---|---|
Abonnement | Choisir votre abonnement | Sélectionnez l’abonnement que vous souhaitez utiliser pour créer une instance SignalR Service. |
Groupe de ressources | Créer un groupe de ressources nommé SignalRTestResources | Sélectionnez ou créez un groupe de ressources pour votre ressource SignalR. Nous vous conseillons de créer un nouveau groupe de ressources pour ce tutoriel plutôt que d’utiliser un groupe existant. Pour libérer les ressources une fois le tutoriel terminé, supprimez le groupe de ressources. La suppression du groupe de ressources supprimera également toutes les ressources qu’il contient. Cette action ne peut pas être annulée. Avant de supprimer un groupe de ressources, vérifiez qu’il ne contient pas des ressources que vous souhaitez conserver. Pour plus d’informations, consultez Utilisation des groupes de ressources pour gérer vos ressources Azure. |
Nom de la ressource | testsignalr | Entrez un nom de ressource unique à utiliser pour la ressource SignalR. Si le nom testsignalr n’est pas disponible dans votre région, ajoutez un chiffre ou un caractère au nom pour le rendre unique. Le nom doit être une chaîne de 1 à 63 caractères, et il ne peut contenir que des chiffres, des lettres et le caractère - (trait d'union). Le nom ne peut ni commencer ni se terminer par un trait d’union, et il n’accepte pas de traits d’union consécutifs. |
Région | Choisir votre région | Sélectionnez la région appropriée pour votre nouvelle instance SignalR Service. Azure SignalR Service n’est pas disponible dans toutes les régions. Pour plus d’informations, consultez Disponibilité d’Azure SignalR Service par région. |
Niveau tarifaire | Sélectionnez Modifier, puis choisissez Gratuit (Dev/Test uniquement). Choisissez Sélectionner pour confirmer votre choix de niveau tarifaire. | Azure SignalR Service propose trois niveaux tarifaires : Gratuit, Standard et Premium. Les tutoriels utilisent le niveau Gratuit, sauf indication contraire dans les prérequis. Pour plus d’informations sur les différences de fonctionnalités entre les niveaux et les tarifs, consultez Tarifs Azure SignalR Service. |
Mode de service | Choisir le mode de service approprié | Utilisez Par défaut lorsque vous hébergez la logique du hub SignalR dans vos applications web et utilisez le service SignalR en tant que proxy. Utilisez Serverless lorsque vous utilisez des technologies serverless telles qu’Azure Functions pour héberger la logique du hub SignalR. Le mode classique est uniquement pour la compatibilité descendante et il n’est pas recommandé de l’utiliser. Pour plus d’informations, consultez Mode de service dans Azure SignalR Service. |
Vous n’avez pas besoin de modifier les paramètres des onglets Réseau et Étiquettes pour les tutoriels SignalR.
- Sélectionnez le bouton Vérifier + créer au bas de l’onglet Informations de base.
- Sous l’onglet Vérifier + créer, passez en revue les valeurs, puis sélectionnez Créer. Le déploiement prend quelques instants.
- Une fois le déploiement terminé, sélectionnez le bouton Accéder à la ressource.
- Dans la page de ressource SignalR, sélectionnez Clés dans le menu de gauche sous Paramètres.
- Copiez la chaîne de connexion pour la clé primaire. Vous aurez besoin de cette chaîne de connexion pour configurer votre application plus loin dans ce tutoriel.
Le mode Serverless n’est pas pris en charge pour les applications ASP.NET SignalR. Utilisez toujours Par défaut ou Classique pour l’instance Azure SignalR Service.
Vous pouvez également créer des ressources Azure utilisées dans ce démarrage rapide en vous reportant à la section Créer un script SignalR Service.
Vous rencontrez des problèmes ? Essayez le guide de résolution des problèmes ou faites-le nous savoir.
Clonage de l’exemple d’application
Pendant le déploiement du service, passons à l’utilisation du code. Clonez l’exemple d’application à partir de GitHub, définissez la chaîne de connexion du service SignalR, et exécutez l’application en local.
Ouvrez une fenêtre de terminal git. Passez à un dossier dans lequel vous souhaitez cloner l’exemple de projet.
Exécutez la commande suivante pour cloner l’exemple de référentiel : Cette commande crée une copie de l’exemple d’application sur votre ordinateur.
git clone https://github.com/aspnet/AzureSignalR-samples.git
Vous rencontrez des problèmes ? Essayez le guide de résolution des problèmes ou faites-le nous savoir.
Configurer et exécuter une application web de salle de conversation
Démarrez Visual Studio et ouvrez la solution dans le dossier aspnet-samples/ChatRoom/ du référentiel cloné.
Dans le navigateur où le portail Azure est ouvert, recherchez et sélectionnez l’instance que vous avez créée.
Sélectionnez Clés pour afficher les chaînes de connexion de l’instance du service SignalR.
Sélectionnez et copiez la chaîne de connexion principale.
Maintenant, définissez la chaîne de connexion dans le fichier web.config.
Des chaînes de connexion brutes sont utilisées dans cet article à des fins de démonstration uniquement. Dans les environnements de production, protégez toujours vos clés d’accès. Utilisez Azure Key Vault pour gérer et permuter vos clés de façon sécurisée, et sécurisez votre chaîne de connexion en utilisant Microsoft Entra ID.
<configuration> <connectionStrings> <add name="Azure:SignalR:ConnectionString" connectionString="<Replace By Your Connection String>"/> </connectionStrings> ... </configuration>
Dans Startup.cs, au lieu d’appeler
MapSignalR()
, vous devez appelerMapAzureSignalR({YourApplicationName})
et transmettre une chaîne de connexion pour faire en sorte que l’application se connecte au service au lieu d’héberger SignalR elle-même. Remplacez{YourApplicationName}
par le nom de votre application. Ce nom est unique afin de distinguer cette application d’autres applications. Vous pouvez utiliser la valeurthis.GetType().FullName
.public void Configuration(IAppBuilder app) { // Any connection or hub wire up and configuration should go here app.MapAzureSignalR(this.GetType().FullName); }
Vous devez également référencer le Kit de développement logiciel (SDK) du service avant d’utiliser ces API. Ouvrez Outils | Gestionnaire de package NuGet | Console du Gestionnaire de package, puis exécutez la commande suivante :
Install-Package Microsoft.Azure.SignalR.AspNet
Hormis ces modifications, rien ne change. Vous pouvez toujours utiliser l’interface concentrateur que vous connaissez déjà pour écrire la logique métier.
Notes
Dans l’implémentation, un point de terminaison
/signalr/negotiate
est exposé pour la négociation par le Kit de développement logiciel (SDK) Azure SignalR Service. Il renvoie une réponse de négociation spéciale lorsque des clients tentent de se connecter et les redirige vers le point de terminaison du service défini dans la chaîne de connexion.Appuyez sur F5 pour exécuter le projet en mode débogage. Vous pouvez voir que l’application s’exécute localement. Au lieu d’héberger elle-même un runtime SignalR, l’application se connecte désormais à Azure SignalR Service.
Vous rencontrez des problèmes ? Essayez le guide de résolution des problèmes ou faites-le nous savoir.
Nettoyer les ressources
Si vous ne pensez pas continuer à utiliser cette application, supprimez toutes les ressources créées par ce démarrage rapide en procédant de la façon suivante de façon à ne pas exposer de coûts :
Dans le portail Azure, sélectionnez Groupes de ressources tout à gauche, puis sélectionnez le groupe de ressources que vous avez créé. Vous pouvez également utiliser la zone de recherche pour trouver le groupe de ressources grâce à son nom.
Dans la fenêtre qui s’ouvre, sélectionnez le groupe de ressources, puis cliquez sur Supprimer le groupe de ressources.
Dans la nouvelle fenêtre, saisissez le nom du groupe de ressources à supprimer, puis cliquez sur Supprimer.
Important
La suppression d’un groupe de ressources est définitive ; le groupe de ressources et l’ensemble des ressources qu’il contient sont supprimés de manière permanente. Veillez à ne pas supprimer accidentellement des ressources ou un groupe de ressources incorrects. Si vous avez créé les ressources pour l’hébergement de cet exemple dans un groupe de ressources existant contenant des ressources que vous souhaitez conserver, vous pouvez supprimer chaque ressource individuellement à partir de son panneau respectif, au lieu de supprimer l’intégralité du groupe de ressources.
Connectez-vous au portail Azure, puis sélectionnez Groupes de ressources.
Dans la zone de texte Filtrer par nom. , saisissez le nom de votre groupe de ressources. Les instructions relatives à ce démarrage rapide utilisaient un groupe de ressources nommé SignalRTestResources. Sur votre groupe de ressources dans la liste des résultats, cliquez sur ... , puis sur Supprimer le groupe de ressources.
Après quelques instants, le groupe de ressources et toutes les ressources qu’il contient sont supprimés.
Vous rencontrez des problèmes ? Essayez le guide de résolution des problèmes ou faites-le nous savoir.
Étapes suivantes
En suivant ce guide de démarrage rapide, vous avez créé une ressources Azure SignalR Service et l’avez utilisée avec une application web ASP.NET. Vous devez à présent apprendre à développer des applications en temps réel à l’aide d’Azure SignalR Service avec ASP.NET Core.