Rechargement à chaud avec ASP.NET Core 1
Le but de cette manipulation est de pouvoir profiter de la nouvelle fonctionnalité offerte par ASP.NET Core : le rechargement à chaud. Cette fonctionnalité permet de prendre en compte les modifications effectuées sur un projet directement à la sauvegarde et sans avoir à relancer manuellement le serveur applicatif.
Environnement d’exécution
Pour effectuer cette manipulation, nous avons besoin d’utiliser la commande dnx. Cette commande permet d’accéder à l’environnement d’exécution .NET directement dans la console. Si la commande dnx n’est pas reconnue dans votre console, vous devrez exécuter la commande du .NET Version Manager suivante afin de mettre à jour votre environnement d’exécution .NET :
dnvm upgarde
Il vous est maintenant possible de lancer votre projet ASP.NET Core directement dans un invite de commandes. Pour cela, utilisez la commande suivante à la racine de votre projet :
dnx web
Le deuxième paramètre correspond à la commande défini le fichier projet.json à la racine de votre projet.
Il faut ensuite installer Dnx.Watcher afin d’avoir accès à la commande dnx-watcher. Pour cela, nous allons utiliser une commande de l'utilitaire de DNX :
dnu commands install Microsoft.Dnx.Watcher
Nous avons maintenant accès à la commande dnx-watch
Utilisation de dnx-watcher
Pour lancer le projet, il suffit de taper la commande suivante
dnx-watch web
Cette commande va basiquement lancer dnx web à chaque fois qu’un fichier du projet est modifié. En revanche, les variables d’environnement de Visual Studio ne sont pas récupérées, il faut donc les ajouter à la main. Par exemple, pour exécuter le projet en environnement de développement :
dnx-watch web ASPNET_ENV=Development
Il est également possible de spécifier le chemin vers le projet avec l'option --project
. Cette option s'avère très utile pour lancer plusieurs applications ASP.NET Core dans une tache gulp par exemple.
Enfin, dnx-watch passera tous les paramètres après --dnx-args
directement à la commande dnx
La commande dnx-watch est spécifique à la version rc1 d'ASP.NET Core. La syntaxe en RC2 sera légèrement différente et ressemblera probablement à cela : dotnet watch
Commentaires