2016-01-14 3 views
1

j'ai eu un coup d'œil à cette question: Publish WebAPI and MVC projects to same Azure Web Site?exécuter deux applications ASP.NET 5 différentes sous le même Azure Web App

mais il doesn fonctionne pas correctement pour l'application « secondaire ». À partir de là, j'ai découvert les répertoires virtuels dans les services d'applications Web Azure (précédemment appelés sites Web Azure). J'essaie de déployer dans les mêmes applications web Azure web apps 2. Les deux sont des applications ASP.NET 5 (ils seront MVC 6) dans une solution appelée MyOAuth:

  • MyApi: application ASP.NET 5 qui devrait être accessible par myoauth.azurewebsites.com
  • MyAuth: application ASP.NET 5 qui devrait être accessible par myoauth.azurewebsites.com/oauth
Solution 'MyOAuth' 
    |-src 
    |- MyApi 
    |- MyAuth 

Ainsi, dans le service Web App Azure que j'ai créé (appelé aussi MyOAuth), sous Paramètres je les applications virtuelles et répertoires suivants:

/  site\wwwroot   Application 
/oauth site\wwwroot\oauth Application 

La connexion Publier de Visual Studio 2015 pour les deux sont:

  • MyApi
Server: myoauth.scm.azurewebsites.net:443 
Site Name: MyOAuth 
User Name: ***** 
Password: **** 
Destination URL: http://myoauth.azurewebsites.net 
  • MyOAuth
Server: myoauth.scm.azurewebsites.net:443 
Site Name: MyOAuth/oauth 
User Name: ***** 
Password: **** 
Destination URL: http://myoauth.azurewebsites.net/oauth 

Ce sont la configuration de démarrage pour les deux projets:

Startup.cs pour MyApi

//... 
public void Configure(IApplicationBuilder app) 
{ 
    app.UseIISPlatformHandler(); 
    app.Run(async (context) => 
    { 
     await context.Response.WriteAsync("Hello MyApi app"); 
    }); 
} 

Startup.cs pour MyAuth

//... 
public void Configure(IApplicationBuilder app) 
{ 
    app.UseIISPlatformHandler(); 
    app.Run(async (context) => 
    { 
     await context.Response.WriteAsync("...And hello MyAuth app"); 
    }); 
} 

Après la publication, quand j'accéder http://myoauth.azurewebsites.net je reçois la réponse appropriée Hello MyApi app, mais lorsque vous demandez http://myoauth.azurewebsites.net/oauth je reçois une erreur de serveur 500 avec le texte The page cannot be displayed because an internal server error has occurred.

J'ai réussi à récupérez l'DetailedError suivante dans le dossier Azure LogFiles:

Erreur HTTP 500.19 - Erreur interne du serveur La page demandée ne peut pas être car les données de configuration associées à la page sont non valide.

Informations détaillées sur l'erreur: Module Web IIS de base Avis BeginRequest Handler Pas encore déterminé Code d'erreur 0x800700b7 Erreur de configuration Impossible d'ajouter l'entrée en double collection de type « ajouter » avec l'attribut clé unique « nom » est « httpplatformhandler » config fichier \ \ D: \ home \ Site \ wwwroot \ oauth \ web.config URL demandée
http://MyOAuth:80/oauth Chemin physique D: \ home \ Site \ wwwroot \ oauth Méthode d'ouverture de session Pas encore déterminé d'ouverture de session utilisateur Pas encore déterminé

Source de configuration:

<handlers> 
    <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" /> 
</handlers> 

Quelqu'un pourrait conseiller à ce sujet ou me donner une solution sur la façon d'exécuter 2 différentes applications ASP.NET 5 sous le même service Web App Azure, s'il vous plaît? Merci!

Répondre

2

Il est possible suivant la structure du dossier esquissée ici:

https://github.com/aspnet/dnx/issues/928#issuecomment-171617386

Le problème est que j'ai pas encore trouvé l'outillage qui le rend facile à faire avec vs2015 ou VSTeamServices

L'un des principaux les choses que je devais faire pour le faire fonctionner (encore quelques étapes de déploiements manuels - mais j'ai trouvé un problème dans ma configuration qui pourrait vous aider aussi je pense). Ce qui suit corriger l'erreur 500,19

<handlers> 
     <remove name="httpplatformhandler" /> 
     <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/> 
    </handlers> 

Plus d'informations sur le sujet même se trouve à l'adresse: Deploying aspnet5 apps to virtual directories on azure websites

+0

Je ne comprends toujours pas bien les changements nécessaires. Selon votre question ici: http://stackoverflow.com/questions/34784391/deploying-aspnet5-apps-to-virtual-directories-on-azure-websites la structure dans Azure ayant l'app0 avec '' 'wwwroot/web .config''' et l'app1 (appelé oauth dans mon cas) avec '' 'wwwroot/oauth/web.config''' semblent causer le problème pour app1. Voulez-vous dire que je dois modifier manuellement la structure du dossier/fichier directement dans Azure pour que cela fonctionne? – iberodev

+1

Je dis que je ne l'ai pas encore fait fonctionner avec l'outillage par défaut en studio visuel. Je viens d'avoir un exemple de travail avec 3 applications, mais cela impliquait msdeploy de la ligne de commande. Je vais mettre à jour la réponse avec plus d'informations que je le trouve. –