Partager via


Migrer et publier une application web sur un service cloud Azure à partir de Visual Studio

Remarque

Cet article s’applique à Azure Cloud Services (classique), qui est désormais déconseillé pour les nouveaux clients et sera mis hors service le 31 août 2024. Les services existants créés avec cette technologie sont toujours pris en charge par le biais d’Azure Cloud Services (support étendu). Pour le nouveau développement, nous vous recommandons d’utiliser un type de service plus récent conçu à des fins spécifiques, comme Azure App Service, Azure Functions ou Azure Container Apps. Pour obtenir la liste la plus récente des services disponibles, consultez le Répertoire des produits Azure.

Pour tirer parti des services d’hébergement et de l’extensibilité d’Azure, vous pouvez migrer et déployer votre application web sur un service cloud Azure. Seules de légères modifications sont nécessaires. Cet article couvre le déploiement dans des services cloud uniquement ; pour App Service, voir Déployer une application web dans Azure App Service.

Important

Cette migration est uniquement prise en charge pour les projets spécifiques ASP.NET, WCF et WCF Workflow. Elle n'est pas prise en charge pour les projets ASP.NET Core. Voir Modèles de projet pris en charge.

Prérequis

Migration d'un projet vers des services cloud

  1. Cliquez avec le bouton droit sur le nœud de la solution, sélectionnez Ajouter > Nouveau projet... et ajoutez un nouveau projet Service cloud Azure (classique) à la solution existante.

  2. Dans la boîte de dialogue Nouveau service cloud Microsoft Azure (classique), cliquez sur OK sans ajouter de rôles au projet.

  3. Cliquez avec le bouton droit sur le nœud Rôles sous le projet Services cloud récemment ajouté, puis sélectionnez Ajouter un projet de rôle web dans la solution....

  4. Dans la boîte de dialogue Associer un projet de rôle, sélectionnez le projet que vous souhaitez associer comme rôle web.

    Important

    Si vous avez d’autres assemblys ou fichiers qui sont requis pour cette application web, vous devez définir manuellement les propriétés de ces fichiers. Pour plus d'informations sur la définition de ces propriétés, consultez Inclure des fichiers dans le package de services.

Erreurs et avertissements

Les avertissements ou erreurs qui se produisent indiquent les problèmes à résoudre avant le déploiement sur Azure, par exemple des assemblys manquants.

Si vous générez votre application, que vous l’exécutez localement en utilisant l’émulateur de calcul ou que vous la publiez sur Azure, vous pouvez voir l’erreur suivante : « Le chemin spécifié, le nom de fichier spécifié ou les deux sont trop longs ». Cette erreur indique que la longueur du nom complet du projet Azure dépasse 146 caractères. Pour résoudre le problème, déplacez votre solution vers un autre dossier avec un chemin d'accès plus court.

Pour plus d’informations sur la façon de traiter les avertissements comme des erreurs, consultez Configurer un projet de service cloud Azure avec Visual Studio.

Test local de la migration

  1. Dans Visual Studio, dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet de service mobile ajouté, puis sélectionnez Définir comme projet de démarrage.
  2. Sélectionnez Déboguer > Démarrer le débogage (F5) pour lancer l’environnement de débogage Azure. Cet environnement fournit spécifiquement l'émulation des divers services Azure.

Utilisation d’une base de données Azure SQL pour votre application

Si vous avez une chaîne de connexion pour votre application web qui utilise une base de données SQL Server sur site, vous devez migrer votre base de données vers Azure SQL Database et mettre à jour votre chaîne de connexion. Pour plus d'informations sur ce processus, consultez les rubriques suivantes :

Publication de l'application sur un service cloud Azure

  1. Créez le service cloud et les comptes de stockage nécessaires dans votre abonnement Azure, comme indiqué dans Préparer la publication ou le déploiement d’une application Azure à partir de Visual Studio.

  2. Dans Visual Studio, cliquez avec le bouton droit sur le projet d'application et sélectionnez Publier sur Microsoft Azure... (ce qui est différent de la commande « Publier... »).

  3. Dans la fenêtre Publier l’application Azure qui s’affiche, connectez-vous avec le compte de votre abonnement Azure et sélectionnez Suivant >.

  4. Sous l’onglet Paramètres > Paramètres communs, sélectionnez le service cloud cible dans la liste déroulante Service cloud ainsi que l’environnement et les configurations de votre choix.

  5. Dans Paramètres > Paramètres avancés, sélectionnez le compte de stockage à utiliser, puis sélectionnez Suivant >.

  6. Dans Diagnostics, indiquez si vous souhaitez envoyer les informations à Application Insights.

  7. Sélectionnez Suivant > pour voir un récapitulatif, puis sélectionnez Publier pour démarrer le déploiement.

  8. Visual Studio ouvre une fenêtre du journal d'activité dans laquelle vous pouvez suivre la progression :

    VST_AzureActivityLog

  9. (Facultatif) Pour annuler le processus de déploiement, cliquez avec le bouton droit sur la ligne dans le journal des activités, puis choisissez Annuler et supprimer. Cette commande arrête le processus de déploiement et supprime l'environnement de déploiement d'Azure. Remarque : pour supprimer cet environnement de déploiement après son déploiement, vous devez utiliser le portail Azure.

  10. Pour accéder à votre application après le déploiement, cliquez sur la flèche en regard de votre déploiement quand le statut Terminé s’affiche dans le journal des activités Azure avec l'URL. Consultez le tableau suivant pour plus d'informations sur le démarrage d'un type spécifique de l'application web à partir d’Azure.

Utilisation de l'émulateur de calcul et démarrage de l'application dans Azure

Tous les types d’application peuvent être démarrés dans un navigateur connecté au débogueur Visual Studio en sélectionnant Déboguer > Démarrer le débogage (F5). Avec un projet d'application web ASP.NET vide, vous devez d'abord ajouter une page .aspx à votre application puis la définir comme page de démarrage pour votre projet web.

Le tableau suivant fournit des détails sur le démarrage de l'application dans Azure :

Type d’application web Exécution dans Azure
Application Web ASP.NET
(y compris modèle-vue-contrôleur (MVC) 2, MVC 3, MVC 4)
Sélectionnez l'URL dans l'onglet Déploiement du journal d'activité Azure.
Application Web vide ASP.NET Si vous utilisez une page .aspx par défaut dans votre application, sélectionnez l'URL dans l'onglet Déploiement du journal d'activité Azure. Pour accéder à une autre page, entrez une URL au format suivant dans un navigateur : <deployment_url>/<page_name>.aspx
WCF Service Application
WCF Workflow Service Application
Définissez le fichier .svc comme page de démarrage de votre projet de service WCF. Puis accédez à <deployment_url>/<service_file>.svc
ASP.NET Dynamic Entities
ASP.NET Dynamic Data LINQ to SQL
Mettez à jour la chaîne de connexion comme décrit dans la section suivante. Puis accédez à <deployment_url>/<page_name>.aspx. Pour LINQ to SQL, vous devez utiliser une base de données Azure SQL.

Mise à jour d’une chaîne de connexion pour ASP.NET Dynamic Entities

  1. Créez une base de données SQL Azure pour une application web ASP.NET Dynamic Entities comme décrit précédemment dans (#use-an-azuresql-database-for-your-application).

  2. Ajoutez les tables et les champs dont vous avez besoin pour cette base de données à partir du portail Azure.

  3. Spécifiez une chaîne de connexion dans le fichier web.config au format suivant, puis enregistrez le fichier :

    <add name="tempdbEntities"
     connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=<server name>\SQLEXPRESS;initial catalog=<database name>;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;"
     providerName="System.Data.EntityClient"/>
    

    Mettez à jour la valeur connectionString avec la chaîne de connexion ADO.NET pour votre base de données SQL Azure comme suit :

    <add name="tempdbEntities"
     connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Server=tcp:<SQL Azure server name>.database.windows.net,1433;Database=<database name>;User ID=<user name>;Password=<password>;Trusted_Connection=False;Encrypt=True;multipleactiveresultsets=True;App=EntityFramework&quot;"
     providerName="System.Data.EntityClient"/>
    

Modèles de projet pris en charge

Les applications qui peuvent être migrées et publiées sur des services cloud doivent utiliser l'un des modèles du tableau suivant. ASP.NET Core n'est pas pris en charge.

Groupe de modèles Modèle de projet
Web Application Web ASP.NET (.NET Framework)
Web Application Web ASP.NET MVC 2
Web Application Web ASP.NET MVC 3
Web Application Web ASP.NET MVC 4
Web Application Web vide ASP.NET (ou site)
Web Application Web vide ASP.NET MVC 2
Web Application Web ASP.NET Dynamic Data Entities
Web Application Web ASP.NET Dynamic Data LINQ to SQL
WCF WCF Service Application
WCF WCF Workflow Service Application
Workflow WCF Workflow Service Application