Partager via


déploiement web ASP.NET à l’aide de Visual Studio : déploiement pour tester

par Tom Dykstra

Cette série de tutoriels montre comment déployer (publier) une application web ASP.NET sur Azure App Service Web Apps ou sur un fournisseur d’hébergement tiers à l’aide de Visual Studio 2017. Pour plus d’informations sur la série, consultez le premier tutoriel de la série.

Pour obtenir une version actuelle du déploiement sur Azure, consultez Créer une application web ASP.NET Core dans Azure.

Vue d’ensemble

Dans ce tutoriel, vous allez déployer une application web ASP.NET sur Internet Information Server (IIS) sur votre ordinateur local.

En règle générale, lorsque vous développez une application, vous l’exécutez et la testez dans Visual Studio. Par défaut, les projets d’application web dans Visual Studio 2017 utilisent IIS Express comme serveur web de développement. IIS Express se comporte plus comme iis complet que le serveur de développement Visual Studio (également appelé Cassini), que Visual Studio 2017 utilise par défaut. Mais aucun serveur web de développement ne fonctionne exactement comme IIS. Par conséquent, une application peut s’exécuter et tester correctement dans Visual Studio, mais échouer lorsqu’elle est déployée sur IIS.

Vous pouvez tester de manière fiable votre application de deux manières :

  1. Déployez votre application sur IIS sur votre ordinateur de développement à l’aide du même processus que celui que vous utiliserez ultérieurement pour la déployer dans votre environnement de production.

    Vous pouvez configurer Visual Studio pour utiliser IIS lorsque vous exécutez un projet web, mais cela ne testerait pas votre processus de déploiement. Cette méthode valide votre processus de déploiement et que votre application s’exécute correctement sous IIS.

  2. Déployez votre application dans un environnement de test similaire à votre environnement de production.

    L’environnement de production de ces didacticiels est Web Apps dans Azure App Service. L’environnement de test idéal est une application web supplémentaire créée dans le service Azure. Bien qu’elle soit configurée de la même façon qu’une application web de production, vous ne l’utiliseriez qu’à des fins de test.

L’option 2 est le moyen le plus fiable de tester. Si vous utilisez l’option 2, vous n’avez pas nécessairement besoin d’utiliser l’option 1. Toutefois, si vous effectuez un déploiement sur un fournisseur d’hébergement tiers, l’option 2 n’est peut-être pas réalisable ou peut être coûteuse. Cette série de tutoriels présente donc les deux méthodes. Des conseils pour l’option 2 sont fournis dans le didacticiel Déploiement dans l’environnement de production .

Pour plus d’informations sur l’utilisation de serveurs web dans Visual Studio, consultez Serveurs web dans Visual Studio pour ASP.NET projets web.

Rappel : si vous recevez un message d’erreur ou si quelque chose ne fonctionne pas pendant le didacticiel, veillez à case activée la page de résolution des problèmes.

Télécharger le projet de démarrage de Contoso University

Téléchargez et installez la solution et le projet de démarrage Contoso University Visual Studio. Cette solution contient le tutoriel terminé.

Télécharger le projet de démarrage

Installer IIS

Pour effectuer un déploiement sur IIS sur votre ordinateur de développement, vérifiez qu’IIS et Web Deploy sont installés. Par défaut, Visual Studio installe Web Deploy, mais IIS n’est pas inclus dans la configuration par défaut Windows 10, Windows 8 ou Windows 7. Si vous avez déjà installé IIS et que le pool d’applications par défaut est déjà défini sur .NET 4, passez à la section suivante.

  1. Il est recommandé d’utiliser Web Platform Installer (WPI) pour installer IIS et Web Deploy. WPI installe une configuration IIS recommandée qui inclut les prérequis IIS et Web Deploy si nécessaire.

    Si vous avez déjà installé IIS, Web Deploy ou l’un des composants requis, WPI installe uniquement ce qui est manquant.

    • Utilisez web Platform Installer pour installer IIS et Web Deploy :

      Installer IIS à l’aide de WPI

      Installer Web Deploy à l’aide de WPI

      Des messages indiquant qu’IIS 7 sera installé s’affichent. Le lien fonctionne pour IIS 8 dans Windows 8 ; mais pour Windows 8 et versions ultérieures, suivez les étapes suivantes pour vous assurer que ASP.NET 4.7 est installé :

    • Ouvrez Panneau de configuration>Programmes>et fonctionnalités>Activez ou désactivez les fonctionnalités Windows.

    • Développez Internet Information Services, World Wide Web Services et Fonctionnalités de développement d’applications.

    • Vérifiez que ASP.NET 4.7 est sélectionné.

      Sélectionner ASP.NET 4.7

    • Vérifiez que World Wide Web Services et la console de gestion IIS sont sélectionnés . Cette opération installe IIS et le Gestionnaire des services Internet.

      Sélectionnez World Wide Web Services

    • Sélectionnez OK. Des messages de boîte de dialogue indiquant que l’installation est en cours s’affichent.

Après avoir installé IIS, exécutez le Gestionnaire des services Internet pour vous assurer que le .NET Framework version 4 est affecté au pool d’applications par défaut.

  1. Appuyez sur WINDOWS+R pour ouvrir la boîte de dialogue Exécuter .

    (Sur Windows 8 ou une version ultérieure, entrez « exécuter » dans la page d’accueil. Dans Windows 7, sélectionnez Exécuter dans le menu Démarrer. Si Exécuter n’est pas dans le menu Démarrer, cliquez avec le bouton droit sur la barre des tâches, sélectionnez Propriétés, sélectionnez l’onglet Menu Démarrer, sélectionnez Personnaliser, puis sélectionnez Exécuter la commande.)

  2. Entrez « inetmgr », puis sélectionnez OK.

  3. Dans le volet Connections, développez le nœud serveur, puis sélectionnez Pools d’applications. Dans le volet Pools d’applications si DefaultAppPool est affecté au .NET Framework version 4, comme dans l’illustration suivante, passez à la section suivante.

    Inetmgr_showing_4.0_app_pools

  4. Si seuls deux pools d’applications sont définis sur .NET Framework 2.0, installez ASP.NET 4 dans IIS.

    Pour Windows 8 ou une version ultérieure, consultez les instructions de la section précédente pour vous assurer que ASP.NET 4.7 est installé ou comment installer ASP.NET 4.5 sur Windows 8 et Windows Server 2012. Pour Windows 7, ouvrez une fenêtre d’invite de commandes en cliquant avec le bouton droit sur Invite de commandes dans le menu Démarrer de Windows et en sélectionnant Exécuter en tant qu’administrateur. Exécutez aspnet_regiis.exe pour installer ASP.NET 4 dans IIS à l’aide des commandes suivantes. (Dans les systèmes 32 bits, remplacez « Framework64 » par « Framework ».)

    cd %windir%\Microsoft.NET\Framework64\v4.0.30319
    aspnet_regiis.exe –i
    

    Cette commande crée des pools d’applications pour .NET Framework 4, mais le pool d’applications par défaut reste défini sur 2.0. Vous déployez une application qui cible .NET 4 dans ce pool d’applications. Par conséquent, remplacez le pool d’applications par .NET 4.

  5. Si vous avez fermé le Gestionnaire des services Internet, réexécutez-le, développez le nœud de serveur, puis sélectionnez Pools d’applications.

  6. Dans le volet Pools d’applications , sélectionnez DefaultAppPool. Dans le volet Actions , sélectionnez Paramètres de base.

    Inetmgr_selecting_Basic_Settings_for_app_pool

  7. Dans la boîte de dialogue Modifier le pool d’applications, remplacez la version du CLR .NET par .NET CLR v4.0.30319. Sélectionnez OK.

    Selecting_.NET_4_for_DefaultAppPool

Vous êtes maintenant prêt à publier une application web sur IIS. Tout d’abord, créez des bases de données à des fins de test.

Installation de SQL Server Express

LocalDB n’est pas conçu pour fonctionner dans IIS, de sorte que votre environnement de test doit avoir SQL Server Express installé. Si vous utilisez Visual Studio 2010 SQL Server Express, il est déjà installé par défaut. Si vous utilisez Visual Studio 2012 ou version ultérieure, installez SQL Server Express.

Pour installer SQL Server Express, téléchargez-le et installez-le à partir du Centre de téléchargement : Microsoft SQL Server 2017 Express Edition.

Dans la première page du Centre d’installation SQL Server, sélectionnez Nouveau SQL Server installation autonome ou ajouter des fonctionnalités à une installation existante et suivez les instructions qui acceptent les choix par défaut. Dans l’Assistant Installation, acceptez les paramètres par défaut. Pour plus d’informations sur les options d’installation, consultez Installer SQL Server à partir de l’Assistant Installation (programme d’installation).

Créer des bases de données SQL Server Express pour l’environnement de test

L’application Contoso University a deux bases de données :

  1. Base de données d’appartenances
  2. Base de données d’application

Vous pouvez déployer ces bases de données sur deux bases de données distinctes ou sur une base de données unique. La combinaison de ces éléments facilite les jointures de bases de données entre elles.

Si vous effectuez un déploiement sur un fournisseur d’hébergement tiers, votre plan d’hébergement peut également vous donner une raison de les combiner. Par exemple, le fournisseur peut facturer plus pour plusieurs bases de données ou peut même ne pas autoriser plusieurs bases de données.

Dans ce tutoriel, vous allez déployer sur deux bases de données dans l’environnement de test et sur une base de données dans les environnements intermédiaires et de production.

Dans le menu Affichage de Visual Studio, sélectionnez Server Explorer (Base de données Explorer dans Visual Web Developer). Cliquez avec le bouton droit sur Data Connections et sélectionnez Créer une base de données SQL Server.

Selecting_Create_New_SQL_Server_Database

Dans la boîte de dialogue Créer une base de données SQL Server, entrez .\SQLExpress » dans la zone Nom du serveur et « aspnet-ContosoUniversity » dans la zone Nouveau nom de base de données. Sélectionnez OK.

Créer aspnet-ContosoUniversity

Suivez la même procédure pour créer une base de données SQL Server Express School nommée ContosoUniversity.

Server Explorer affiche les deux nouvelles bases de données.

Nouvelles bases de données dans Server Explorer

Créer un script d’octroi pour les nouvelles bases de données

Lorsque l’application s’exécute dans IIS sur votre ordinateur de développement, l’application utilise les informations d’identification du pool d’applications par défaut pour accéder à la base de données. Toutefois, par défaut, le pool d’applications n’a pas l’autorisation d’ouvrir les bases de données. Cela signifie que vous devez exécuter un script pour accorder cette autorisation. Dans cette section, vous allez créer ce script et l’exécuter ultérieurement pour vous assurer que l’application peut ouvrir les bases de données lorsqu’elle s’exécute dans IIS.

Dans un éditeur de texte, copiez les commandes SQL suivantes dans un nouveau fichier et enregistrez-le en tant que Grant.sql.

IF NOT EXISTS (SELECT name FROM sys.server_principals WHERE name = 'IIS APPPOOL\DefaultAppPool')
BEGIN
    CREATE LOGIN [IIS APPPOOL\DefaultAppPool] 
      FROM WINDOWS WITH DEFAULT_DATABASE=[master], 
      DEFAULT_LANGUAGE=[us_english]
END
GO
CREATE USER [ContosoUniversityUser] 
  FOR LOGIN [IIS APPPOOL\DefaultAppPool]
GO
EXEC sp_addrolemember 'db_owner', 'ContosoUniversityUser'
GO

Dans Visual Studio, ouvrez la solution Contoso University. Cliquez avec le bouton droit sur la solution (pas l’un des projets), puis sélectionnez Ajouter. Sélectionnez Élément existant, accédez à Grant.sql, puis ouvrez-le.

Notes

Ce script est conçu pour fonctionner avec SQL Server Express 2012 ou version ultérieure et avec les paramètres IIS dans Windows 10, Windows 8 ou Windows 7, tels qu’ils sont spécifiés dans ce didacticiel. Si vous utilisez une autre version de SQL Server ou Windows, ou si vous configurez IIS différemment sur votre ordinateur, des modifications de ce script peuvent être nécessaires. Pour plus d’informations sur les scripts SQL Server, consultez SQL Server documentation en ligne.

Notes

Note de sécurité Ce script accorde db_owner des autorisations à l’utilisateur qui accède à la base de données au moment de l’exécution, ce qui correspond à ce que vous aurez dans l’environnement de production. Dans certains scénarios, vous pouvez spécifier un utilisateur qui dispose d’autorisations complètes de mise à jour du schéma de base de données uniquement pour le déploiement et spécifier pour l’exécution un autre utilisateur disposant uniquement des autorisations de lecture et d’écriture de données. Pour plus d’informations, consultez Examen des modifications automatiques Web.config pour Migrations Code First plus loin dans ce tutoriel.

Exécuter le script d’octroi dans la base de données d’application

Vous pouvez configurer le profil de publication pour exécuter le script d’octroi dans la base de données d’appartenance pendant le déploiement, car ce déploiement de base de données utilise le fournisseur dbDacFx . Vous ne pouvez pas exécuter de scripts pendant Migrations Code First déploiement, c’est ainsi que vous déployez la base de données d’application. Cela signifie que vous devez exécuter manuellement le script avant le déploiement dans la base de données d’application.

  1. Dans Visual Studio, ouvrez le fichier Grant.sql que vous avez créé précédemment.

  2. Sélectionnez Se connecter.

    Bouton Se connecter

  3. Dans la boîte de dialogue Se connecter au serveur , entrez .\SQLExpress comme Nom du serveur. Sélectionnez Se connecter.

  4. Dans la liste déroulante de la base de données, sélectionnez ContosoUniversity. Sélectionnez Exécuter.

    Dans la liste déroulante de la base de données, sélectionnez ContosoUniversity. Sélectionnez Exécuter.

L’identité du pool d’applications par défaut dispose désormais d’autorisations suffisantes dans la base de données d’application pour Migrations Code First créer les tables de base de données lors de l’exécution de l’application.

Publier sur IIS

Il existe plusieurs façons de déployer sur IIS à l’aide de Visual Studio et Web Deploy :

  • Utilisez La publication en un clic de Visual Studio.
  • Publiez à partir de la ligne de commande.
  • Créez un package de déploiement et installez-le à l’aide du Gestionnaire des services Internet. Le package a un fichier .zip avec tous les fichiers et métadonnées nécessaires pour installer un site dans IIS.
  • Créez un package de déploiement et installez-le à l’aide de la ligne de commande.

Le processus que vous avez suivi dans les tutoriels précédents pour configurer Visual Studio afin d’automatiser les tâches de déploiement s’applique à toutes ces méthodes. Dans ces tutoriels, vous allez utiliser les deux premières méthodes. Pour plus d’informations sur l’utilisation des packages de déploiement, consultez Déploiement d’une application web en créant et en installant un package de déploiement web dans web Deployment Content Map pour Visual Studio et ASP.NET.

Avant de publier, vérifiez que vous exécutez Visual Studio en mode administrateur. Si vous ne voyez pas (Administrateur) dans la barre de titre, fermez Visual Studio. Dans la page Démarrer Windows 8 (ou version ultérieure) ou le menu Démarrer de Windows 7, cliquez avec le bouton droit sur l’icône Visual Studio et sélectionnez Exécuter en tant qu’administrateur. Le mode Administrateur n’est requis que pour la publication lorsque vous publiez sur IIS sur l’ordinateur local.

Créer le profil de publication

  1. Dans Explorateur de solutions, cliquez avec le bouton droit sur le projet ContosoUniversity (et non sur le projet ContosoUniversity.DAL). Sélectionnez Publier. La page Publier s’affiche.

  2. Sélectionnez Nouveau profil. La boîte de dialogue Choisir une cible de publication s’affiche.

  3. Sélectionnez IIS, FTP, etc. Sélectionnez Créer un profil. L’Assistant Publication apparaît.

    Onglet Profil de l’Assistant Web publier

  4. Dans le menu déroulant Publier la méthode , sélectionnez Déploiement web.

  5. Pour Serveur, entrez localhost.

  6. Pour Nom du site, entrez Site web par défaut/ContosoUniversity.

  7. Pour URL de destination, entrez http://localhost/ContosoUniversity.

    Le paramètre URL de destination n’est pas obligatoire. Lorsque Visual Studio termine le déploiement de l’application, votre navigateur par défaut s’ouvre automatiquement sur cette URL. Si vous ne souhaitez pas que le navigateur s’ouvre automatiquement après le déploiement, laissez cette zone vide.

  8. Sélectionnez Valider la connexion pour vérifier que les paramètres sont corrects et que vous pouvez vous connecter à IIS sur l’ordinateur local.

    Une marque case activée verte vérifie que la connexion a réussi.

    Onglet Connexion de l’Assistant Web publier

  9. Sélectionnez Suivant pour passer à l’onglet Paramètres .

  10. La zone de liste déroulante Configuration spécifie la configuration de build à déployer. Laissez-le défini sur la valeur par défaut Release. Vous ne déployerez pas de builds Debug dans ce tutoriel.

  11. Développez Options de publication de fichier. Sélectionnez Exclure les fichiers du dossier App_Data.

    Dans l’environnement de test, l’application accède aux bases de données que vous avez créées dans le SQL Server Express instance local, et non aux fichiers .mdf dans le dossier App_Data.

  12. Laissez les cases Précompiler pendant la publication et Supprimer des fichiers supplémentaires à la case activée de destination désactivées.

    Options de publication de fichier dans l’onglet Paramètres

    La précompilation est une option qui est principalement utile pour les grands sites. Cela peut réduire le temps de démarrage lors de la première demande d’une page après la publication du site.

    Vous n’avez pas besoin de supprimer d’autres fichiers, car il s’agit de votre premier déploiement et qu’il n’y aura pas encore de fichiers dans le dossier de destination.

    Notes

    Si vous sélectionnez Supprimer des fichiers supplémentaires à destination pour un déploiement ultérieur sur le même site, veillez à utiliser la fonctionnalité d’aperçu afin de voir à l’avance quels fichiers seront supprimés avant le déploiement. Le comportement attendu est que Web Deploy supprime des fichiers sur le serveur de destination que vous avez supprimés dans votre projet. Toutefois, l’ensemble de la structure des dossiers sous les dossiers source et de destination est comparé ; et dans certains scénarios, Web Deploy peut supprimer des fichiers que vous ne souhaitez pas supprimer.

    Par exemple, si vous avez une application web dans un sous-dossier sur le serveur lorsque vous déployez un projet dans le dossier racine, le sous-dossier est supprimé. Vous pouvez avoir un projet pour le site main sur contoso.com et un autre projet pour un blog sur contoso.com/blog. L’application de blog se trouve dans un sous-dossier. Si vous sélectionnez Supprimer des fichiers supplémentaires à destination lorsque vous déployez le site main, l’application de blog est supprimée.

    Pour un autre exemple, votre dossier App_Data peut être supprimé de manière inattendue. Certaines bases de données telles que SQL Server Compact stockent des fichiers de base de données dans le dossier App_Data. Après le déploiement initial, vous ne souhaitez pas continuer à copier les fichiers de base de données dans les déploiements suivants. Par conséquent, sélectionnez Exclure App_Data sous l’onglet Package/Publier le web. Après cela, si vous avez sélectionné Supprimer des fichiers supplémentaires à destination , vos fichiers de base de données et le dossier App_Data lui-même seront supprimés lors de la prochaine publication.

Configurer le déploiement pour la base de données d’appartenance

Les étapes suivantes s’appliquent à la base de données DefaultConnection dans la section Bases de données de la boîte de dialogue.

  1. Dans la zone Chaîne de connexion distante, entrez la chaîne de connexion suivante qui pointe vers la nouvelle base de données d’appartenance SQL Server Express.

    Data Source=.\SQLExpress;Initial Catalog=aspnet-ContosoUniversity;Integrated Security=True
    

    Le processus de déploiement place cette chaîne de connexion dans le fichier Web.config déployé, car l’option Utiliser cette chaîne de connexion au moment de l’exécution est sélectionnée.

    Vous pouvez également obtenir les chaîne de connexion à partir de Server Explorer. Dans Server Explorer, développez Data Connections et sélectionnez la <base de données machinename>\sqlexpress.aspnet-ContosoUniversity, puis, dans la fenêtre Propriétés, copiez la valeur Chaîne de connexion. Ce chaîne de connexion aura un paramètre supplémentaire que vous pouvez supprimer : Pooling=False.

  2. Sélectionnez Mettre à jour la base de données.

    Cela entraîne la création du schéma de base de données dans la base de données de destination pendant le déploiement. Dans les étapes suivantes, vous spécifiez les scripts supplémentaires que vous devez exécuter : un pour accorder à la base de données l’accès au pool d’applications par défaut et un autre pour déployer des données.

  3. Sélectionnez Configurer les mises à jour de base de données.

  4. Dans la boîte de dialogue Configurer la base de données Mises à jour, sélectionnez Ajouter un script SQL. Accédez au script Grant.sql que vous avez enregistré précédemment dans le dossier de solution.

  5. Répétez le processus pour ajouter le script aspnet-data-dev.sql .

    Configurer l’Mises à jour de base de données pour la base de données d’appartenance

  6. Sélectionnez Fermer.

Configurer le déploiement pour la base de données d’application

Quand Visual Studio détecte une classe Entity FrameworkDbContext, il crée une entrée dans la section Bases de données qui contient une zone Exécuter Migrations Code First case activée au lieu d’une zone Mettre à jour la base de données case activée. Pour ce tutoriel, vous allez utiliser cette zone case activée pour spécifier Migrations Code First déploiement.

Dans certains scénarios, vous utilisez peut-être une DbContext base de données, mais vous souhaitez utiliser le fournisseur dbDacFx au lieu de Migrations pour déployer la base de données. Dans ce cas, consultez Comment faire déployer une base de données Code First sans migrations ? dans le forum aux questions sur le déploiement web ASP.NET sur MSDN.

Les étapes suivantes s’appliquent à la base de données SchoolContext dans la section Bases de données de la boîte de dialogue.

  1. Dans la zone Chaîne de connexion distant, entrez la chaîne de connexion suivante qui pointe vers la nouvelle base de données d’application SQL Server Express.

    Data Source=.\SQLExpress;Initial Catalog=ContosoUniversity;Integrated Security=True
    

    Le processus de déploiement place cette chaîne de connexion dans le fichier Web.config déployé, car l’option Utiliser cette chaîne de connexion au moment de l’exécution est sélectionnée.

    Vous pouvez également obtenir la base de données d’application chaîne de connexion à partir de Server Explorer de la même façon que vous avez obtenu la base de données d’appartenance chaîne de connexion.

  2. Sélectionnez Exécuter Migrations Code First (s’exécute au démarrage de l’application).

    Avec cette option, le processus de déploiement configure le fichier de Web.config déployé pour spécifier l’initialiseur MigrateDatabaseToLatestVersion . Cet initialiseur met automatiquement à jour la base de données vers la dernière version lorsque l’application accède à la base de données pour la première fois après le déploiement.

Configurer les transformations de profil de publication

  1. Sélectionnez Fermer. Sélectionnez Oui lorsque vous êtes invité à enregistrer les modifications.

  2. Dans Explorateur de solutions, développez Propriétés, puis PublishProfiles.

  3. Cliquez avec le bouton droit sur CustomProfile.pubxml et renommez-le Test.pubxml.

  4. Cliquez avec le bouton droit sur Test.pubxml. Sélectionnez Ajouter une transformation de configuration.

    Menu Ajouter une transformation de configuration

    Visual Studio crée le fichier de transformationWeb.Test.config et l’ouvre.

  5. Dans le fichier de transformationWeb.Test.config , insérez le code suivant immédiatement après la balise de configuration d’ouverture.

    <appSettings>
        <add key="Environment" value="Test" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
    </appSettings>
    

    Lorsque vous utilisez le profil de publication de test, cette transformation définit l’indicateur d’environnement sur « Test ». Dans le site déployé, vous verrez « (Test) » après l’en-tête « Contoso University » H1.

  6. Enregistrez et fermez le fichier.

  7. Cliquez avec le bouton droit sur le fichier Web.Test.config et sélectionnez Aperçu de la transformation pour vous assurer que la transformation que vous avez codée produit les modifications attendues.

    La fenêtre aperçuWeb.config affiche le résultat de l’application des transformationsWeb.Release.config et des transformationsWeb.Test.config .

Afficher un aperçu des mises à jour de déploiement

  1. Ouvrez à nouveau l’Assistant Publier le web (cliquez avec le bouton droit sur le projet ContosoUniversity, sélectionnez Publier, puis Aperçu).

  2. Dans la boîte de dialogue Aperçu , sélectionnez Démarrer l’aperçu pour afficher la liste des fichiers qui seront copiés.

    Publier la préversion

    Vous pouvez également sélectionner le lien Préversion de la base de données pour afficher les scripts qui s’exécuteront dans la base de données d’appartenances. (Aucun script n’est exécuté pour Migrations Code First déploiement, il n’y a donc rien à prévisualiser pour la base de données d’application.)

  3. Sélectionnez Publier.

    Si Visual Studio n’est pas en mode administrateur, vous pouvez obtenir un message d’erreur d’autorisation. Dans ce cas, fermez Visual Studio, ouvrez-le en mode administrateur et réessayez de publier.

    Si Visual Studio est en mode administrateur, la fenêtre Sortie signale la génération et la publication réussies.

    Output_window_publish_Test

    Si vous avez entré l’URL dans la zone URL de destination sous l’onglet Connexion du profil de publication, le navigateur s’ouvre automatiquement sur la page d’accueil de Contoso University s’exécutant dans IIS sur votre ordinateur.

Tester dans l’environnement de test

Notez que l’indicateur d’environnement indique « (Test) » au lieu de « (Dev) », ce qui indique que la transformation Web.config pour l’indicateur d’environnement a réussi.

Exécutez la page Instructeurs pour vérifier que Code First a amorcé la base de données avec les données de l’instructeur. Lorsque vous sélectionnez cette page, le chargement peut prendre quelques minutes, car Code First crée la base de données, puis exécute la Seed méthode . (Cela n’a pas été fait lorsque vous étiez sur la page d’accueil, car l’application n’a pas encore essayé d’accéder à la base de données.)

Sélectionnez l’onglet Étudiants pour vérifier que la base de données déployée n’a pas d’étudiants.

Sélectionnez Ajouter des étudiants dans le menu Étudiants . Ajoutez un étudiant, puis affichez le nouvel étudiant dans la page Étudiants . Cela vérifie que vous pouvez écrire correctement dans la base de données.

Dans le menu Cours , sélectionnez Mettre à jour les crédits. La page Mettre à jour les crédits nécessite des autorisations d’administrateur, de sorte que la page Connexion s’affiche. Entrez les informations d’identification du compte administrateur que vous avez créées précédemment (« admin » et « devpwd »). La page Mettre à jour les crédits s’affiche. Cela vérifie que le compte d’administrateur que vous avez créé dans le didacticiel précédent a été correctement déployé dans l’environnement de test.

Vérifiez qu’un dossier ELMAH existe dans le dossier c :\inetpub\wwwroot\ContosoUniversity avec uniquement le fichier d’espace réservé qu’il contient.

Passez en revue les modifications de Web.config automatiques pour Migrations Code First

Ouvrez le fichier Web.config dans l’application déployée à l’adresse C :\inetpub\wwwroot\ContosoUniversity. Vous pouvez voir où le processus de déploiement configuré Migrations Code First pour mettre automatiquement à jour la base de données vers la dernière version.

Ouvrez le fichier Web.config dans l’application déployée à l’adresse C :\inetpub\wwwroot\ContosoUniversity et découvrez où le processus de déploiement configuré Migrations Code First pour mettre automatiquement à jour la base de données vers la dernière version.

Le processus de déploiement a également créé une nouvelle chaîne de connexion que Migrations Code First utiliser exclusivement pour mettre à jour le schéma de base de données :

Database_Publish chaîne de connexion

Cette chaîne de connexion supplémentaire vous permet de spécifier un compte d’utilisateur pour les mises à jour du schéma de base de données et un autre compte d’utilisateur pour l’accès aux données d’application. Par exemple, vous pouvez attribuer le rôle db_owner à Migrations Code First et db_datareader avec des rôles db_datawriter à l’application. Il s’agit d’un modèle de défense en profondeur courant qui empêche le code potentiellement malveillant dans l’application de modifier le schéma de base de données. (Par exemple, cela peut se produire lors d’une attaque par injection SQL réussie.) Ces tutoriels n’utilisent pas ce modèle. Pour implémenter ce modèle dans votre scénario, procédez comme suit :

  1. Dans l’Assistant Publier le web sous l’onglet Paramètres, entrez la chaîne de connexion qui spécifie un utilisateur disposant des autorisations complètes de mise à jour du schéma de base de données. Désactivez la zone Utiliser cette chaîne de connexion au moment de l’exécution case activée. Dans le fichier Web.config déployé, cela devient le DatabasePublish chaîne de connexion.

  2. Créez une transformation de fichier Web.config pour le chaîne de connexion que vous souhaitez que l’application utilise au moment de l’exécution.

Résumé

Vous avez maintenant déployé votre application sur IIS sur votre ordinateur de développement et l’avez testée ici.

Page d’accueil dans Test

Cela vérifie que le processus de déploiement a copié le contenu de l’application à l’emplacement approprié (à l’exclusion des fichiers que vous ne souhaitez pas déployer) et que Web Deploy a correctement configuré IIS pendant le déploiement. Dans le tutoriel suivant, vous allez exécuter un autre test qui recherche une tâche de déploiement qui n’a pas encore été effectuée : la définition des autorisations de dossier sur le dossier Elm ah .

Plus d’informations

Pour plus d’informations sur l’exécution d’IIS ou de IIS Express dans Visual Studio, consultez les ressources suivantes :