35 votes

Asp.Net Core 2.0 sur Azure génère un résultat 502.5

J'ai une petite application web développée avec Asp.Net de Base 1.1 déployé sur Azure et il fonctionne bien. Je viens de migré du projet Asp.Net Core 2.0 et a essayé de le déployer sur Azure. Le déploiement s'est bien passé mais quand j'ai ouvert le site, je reçois un 502.5 erreur. Quand je vérifie mon Azure flux de journal, j'obtiens l'erreur suivante:

Cette erreur se produit lorsqu'une application CGI ne renvoie pas à un ensemble valide des en-têtes HTTP, ou lorsqu'une procuration ou à la passerelle n'a pas pu envoyer le demande à un parent de la passerelle. Vous devrez peut-être obtenir une trace réseau ou contacter le serveur proxy de l'administrateur, si ce n'est pas un CGI problème.

Inutile de dire que ça fonctionne bien sur ma machine de développement avec le même code. A noter que je suis aussi à l'aide de Entity Framework 2.0 bien que j'ai désactivé la création de base de données sur Azure (pour vérifier si elle n'était pas la cause).

Pour information, la façon dont j'ai migré de 1.1 à 2.0 est par modification de la cible cadre des paramètres de "netcoreapp2.0" et en utilisant le package NuGet "de Microsoft.AspNetCore.De tous". Juste pour être sûr, j'ai aussi supprimé mon profil de publication et de recréer un.

Est-il possible que Asp.Net Core 2.0 n'est pas encore disponible sur Azure ? Je suis assez nouveau à l'Asp.Net de Base, donc je ne sais pas lorsque de nouvelles versions sont disponibles sur Azure.

MODIFIER

Lorsque j'essaie d'exécuter mon application avec dot net CLI via la console de débogage, tel que proposé par natemcmaster, j'ai eu le problème suivant:

Exception Non Gérée: System.IO.FileLoadException: impossible de charger le fichier ou l'assembly " Microsoft.AspNetCore.De l'hébergement.Les Abstractions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. L'assemblée manifeste définition ne correspond pas à l'assemblée de référence. (Exception de HRESULT: 0x80131040)

J'ai téléchargé la DLL sur mon bureau et vérifiez la version avec Dot Net de Pointe et en effet, la DLL est 1.1.2, bien que j'ai créé le projet avec Visual Studio et publier directement, donc est-il un problème avec Visual Studio ? Ou Nuget ?

20voto

ssougnez Points 1872

la question a été effectivement venir du fait que, au premier abord, mon application web a été à l'aide .net de base 1.1, qui déploie toutes les DLL dans le "wwwroot" dossier de l'application web. Cependant, avec asp.net core 2.0, il ne le fait pas plus que les DLL sont ramassés à partir d'un magasin global. Cependant, en tant que Visual Studio ne permet pas de nettoyer le dossier de destination avant de publier, j'ai fini avec une situation où l'1.1 DLL dans mon wwwroot, de sorte que le site web a été ramasser celles-ci au lieu du 2.0 dans le dossier de stockage.

Ceci est expliqué plus en détails ici: https://github.com/Azure/app-service-announcements-discussions/issues/2#issuecomment-313816550

16voto

Sam Points 5642

D'autres ont expliqué la raison pour laquelle ce qui se passe. Je souhaite apporter un autre – sans doute plus facile de solution au problème.

Il suffit de changer les paramètres de sorte que vous supprimez des fichiers qui sont déjà sur Azure – voir ci-dessous:

publish project settings

publish project settings option

6voto

natemcmaster Points 13402

Vérifiez les fichiers journaux, soit dans le portail ou par accès à distance à des D:\home\LogFiles.

Parfois, les journaux de ne pas indiquer ce qui ne va pas. Une autre bonne façon de poursuivre l'enquête est d'essayer de lancer votre ASP.NET Core application à partir de la Console de Débogage. Si il vous manque un cadre partagé de la version ou il y a une autre erreur de démarrage, ce sera plus visible à partir de la Console de Débogage.

Aller à

https://(your web site name here).scm.azurewebsites.net/DebugConsole/

Votre site sera en D:\home\site\wwwroot. Vous pouvez la lancer en exécutant:

cd D:\home\site\wwwroot
dotnet MyWebApp.dll

Si votre application ne parvient toujours pas à lancer, assurez-vous que D:\home\site\wwwroot\web.config est disponible et configuré pour utiliser ASP.NET Module de Base. https://docs.microsoft.com/en-us/aspnet/core/hosting/aspnet-core-module

2voto

ttugates Points 1431

Dans mon cas, cela a été causé par la présence d'un espace dans le nom du projet.

  • Je peux facilement ajouter un espace, publier => 502.5.
  • Supprimer de l'espace, publier => bon aller.

Difficile à croire mais je le duplique facilement avec ci-dessus.

Utilisation également de "Supprimer les fichiers supplémentaires à la destination" pour la réponse de @ Sam

1voto

Ivan Josipovic Points 46

Voir https://github.com/Azure/app-service-announcements/issues/14 "Le déploiement devrait être terminé d'ici le vendredi 30 juin."

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X