2017-09-28 5 views
-1

J'ai un problème dans l'exécution d'un site Web principal asp.net sur le serveur distant. Je veux utiliser Kestrel avec IIS, et il a publié en studio visuel 2017 Il est mon Program.cs:Comment faire pour exécuter Kestrel derrière IIS

public static void Main(string[] args) 
{ 
var host = new WebHostBuilder() 
      .UseKestrel() 
      .UseContentRoot(Directory.GetCurrentDirectory()) 
      .UseUrls("http://example.com") 
      .UseIISIntegration() 
      .UseStartup<Startup>() 
      .UseApplicationInsights() 
      .Build(); 
host.Run(); 
} 

Sur le serveur distant lorsque je double cliquez sur myWebAppName.exe la course crécerelle et très rapide fermé Ce que je dois faire? pleas, aidez-moi

Répondre

0

Tout d'abord: vous n'avez pas besoin de cliquer sur le fichier app .exe si vous voulez héberger dans IIS. En faisant cela, vous le lancez en tant qu'application autonome. Au lieu de cela, vous devez créer un site Web IIS.


La configuration par code n'est qu'une étape. Vous devez également configurer IIS pour héberger votre application. Suivez cette documentation officielle Set up a hosting environment for ASP.NET Core on Windows with IIS, and deploy to it pour configurer tout droit.

Remarque: certaines étapes sont différentes pour différentes versions de ASP.NET Core.

0

Il semblerait qu'une exception non gérée soit levée ("app closed very fast"). Ouvrez la ligne de commande (cmd.exe), accédez au dossier de votre application et exécutez .exe à partir de la ligne de commande - il ne se fermera pas et vous verrez un message d'erreur.

Après avoir corrigé les bogues (et votre application sera exécutée sur le serveur, ne pas fermer) - lire Set up a hosting environment for ASP.NET Core on Windows with IIS, and deploy to it pour savoir comment fonctionne correctement votre application sous/derrière IIS. En bref: IIS exécutera votre fichier .exe lui-même (lorsque le site web démarre), il n'est pas nécessaire de le démarrer manuellement.