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!
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
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. –