Fermer

juillet 17, 2018

Configuration de Kestrel dans ASP.NET Core 2.1


J'ai récemment démarré un nouveau projet ASP.NET Core 2.1 en utilisant le projet starter MVC dans macOS en utilisant la commande suivante:

 dotnet new mvc 

Le projet est créé sans problèmes. J'ouvre le dossier dans Visual Studio Code et appuie sur F5 pour m'assurer que tout fonctionne avant de commencer à ajouter mon propre code. Mais quand j'exécute l'application, j'obtiens l'erreur suivante:

 configuration-1 "title =" configuration-1 "data-openoriginalimageonclick =" true "/> </a data-recalc-dims=

J'ai découvert que ce port était utilisé par le logiciel Cisco AnyConnect VPN.C'est un client VPN utilisé par beaucoup de mes clients et pas quelque chose que je peux simplement enlever ou tuer Ok, il est temps de changer les ports pour mon application ASP.NET Core.

L'endroit le plus raisonnable que vous penseriez pour modifier les points de terminaison pour héberger votre application web est le launchSettings.json J'ai donc fait des modifications pour changer les ports de la gamme utilisée par Cisco:

Pas de problème, tapez F5 et BAM! bizarrement, si je lance l'application à partir de la ligne de commande en utilisant dotnet run tout fonctionne très bien.

Après un signe Si je creuse à travers le code source ASP.NET Core, j'ai trouvé que le fichier launchSettings.json n'est pas utilisé par le débogueur; il fait en fait partie de la commande dotnet run . Visual Studio Code n'utilise pas cette commande pour le débogage et donc ce fichier est ignoré.

Heureusement, il existe plusieurs façons de configurer les points de terminaison pour le serveur Kestrel. Une méthode courante consiste à ajouter la commande .UseUrls () à la configuration WebHost dans Program.cs :

 .UseUrls ("http: // locahost: 50000", " https: // localhost: 50001 ") 

Cela va dire à Kestrel de remplacer les paramètres par défaut avec ces URL. Cependant, cela nécessite de coder en dur les valeurs au démarrage. Une autre option consiste à utiliser les options de configuration de Kestrel dans le fichier appSettings.json :

 "Kestrel": {
  "Endpoints": {
    "Http": {
      "Url": "http: // localhost: 50000"
    },
    "HttpsDefaultCert": {
      "Url": "https: // localhost: 50001"
    }
  }
} 

Pour plus d'informations sur la configuration de Kestrel pour vos applications ASP.NET Core 2.1, vous pouvez lire la documentation ici .


Les commentaires sont désactivés en mode prévisualisation.
[ad_2]
Source link