Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
door Tom Dykstra
In deze reeks zelfstudies ziet u hoe u een ASP.NET-webtoepassing implementeert (publiceert) naar Azure App Service Web Apps of naar een externe hostingprovider met behulp van Visual Studio 2017. Zie de eerste zelfstudie in de reeks voor meer informatie over de reeks.
Zie Een ASP.NET Core-web-app maken in Azure voor een huidige versie van de implementatie in Azure.
Overzicht
In deze zelfstudie implementeert u een ASP.NET-webtoepassing op uw lokale computer op Internet Information Server (IIS).
Over het algemeen, wanneer u een toepassing ontwikkelt, voert u deze uit en test u deze in Visual Studio. Webtoepassingsprojecten in Visual Studio 2017 gebruiken standaard IIS Express als de ontwikkelwebserver. IIS Express gedraagt zich meer als volledige IIS dan de Visual Studio Development Server (ook wel bekend als Cassini), die Visual Studio 2017 standaard gebruikt. Maar geen van beide ontwikkelwebservers werkt precies als IIS. Een app kan daarom correct worden uitgevoerd en getest in Visual Studio, maar mislukt wanneer deze wordt geïmplementeerd in IIS.
U kunt uw toepassing op twee manieren testen:
Implementeer uw toepassing in IIS op uw ontwikkelcomputer met hetzelfde proces dat u later gaat gebruiken om deze in uw productieomgeving te implementeren.
U kunt Visual Studio configureren om IIS te gebruiken wanneer u een webproject uitvoert, maar dat zou uw implementatieproces niet testen. Met deze methode wordt uw implementatieproces gevalideerd en wordt uw toepassing correct uitgevoerd onder IIS.
Implementeer uw toepassing in een testomgeving die vergelijkbaar is met uw productieomgeving.
De productieomgeving voor deze zelfstudies is Web Apps in Azure App Service. De ideale testomgeving is een extra web-app die is gemaakt in de Azure-service. Hoewel het op dezelfde manier zou worden ingesteld als een productieweb-app, zou u deze alleen gebruiken voor het testen.
Optie 2 is de meest betrouwbare manier om te testen. Als u optie 2 gebruikt, hoeft u niet per se optie 1 te gebruiken. Als u echter implementeert op een externe hostingprovider, is optie 2 mogelijk niet haalbaar of duur, dus in deze reeks zelfstudies worden beide methoden weergegeven. Richtlijnen voor optie 2 vindt u in de zelfstudie Implementeren in de productieomgeving .
Zie Webservers in Visual Studio voor ASP.NET Web Projects voor meer informatie over het gebruik van webservers in Visual Studio.
Herinnering: Als u een foutbericht ontvangt of als iets niet werkt terwijl u de zelfstudie doorloopt, controleert u de pagina voor probleemoplossing.
Het startersproject van Contoso University downloaden
Download en installeer de startersoplossing en het project van Contoso University Visual Studio. Deze oplossing bevat de voltooide zelfstudie.
IIS installeren
Als u wilt implementeren naar IIS op uw ontwikkelcomputer, controleert u of IIS en Web Deploy zijn geïnstalleerd. Visual Studio installeert standaard Web Deploy, maar IIS is niet opgenomen in de standaardconfiguratie van Windows 10, Windows 8 of Windows 7. Als u IIS al hebt geïnstalleerd en de standaardtoepassingsgroep al is ingesteld op .NET 4, gaat u verder met de volgende sectie.
Het is raadzaam om WPI (Web Platform Installer) te gebruiken om IIS en Web Deploy te installeren. WPI installeert indien nodig een aanbevolen IIS-configuratie met IIS- en Web Deploy-vereisten.
Als u IIS, Web Deploy of een van de vereiste onderdelen al hebt geïnstalleerd, installeert de WPI alleen wat er ontbreekt.
Gebruik het webplatforminstallatieprogramma om IIS en Web Deploy te installeren:
U ziet berichten die aangeven dat IIS 7 wordt geïnstalleerd. De koppeling werkt voor IIS 8 in Windows 8; Maar voor Windows 8 en hoger voert u de volgende stappen uit om ervoor te zorgen dat ASP.NET 4.7 is geïnstalleerd:
OpenHet Configuratiescherm>Programma's>Programma's en Onderdelen>Windows-onderdelen in- of uitschakelen.
Vouw Internet Information Services, World Wide Web Services en functies voor toepassingsontwikkeling uit.
Controleer of ASP.NET 4.7 is geselecteerd.
Controleer of World Wide Web Services en IIS Management Console zijn geselecteerd. Hiermee worden IIS en IIS-beheer geïnstalleerd.
Kies OK. Berichten in het dialoogvenster waarin wordt aangegeven dat de installatie plaatsvindt, worden weergegeven.
Nadat u IIS hebt geïnstalleerd, voert u IIS-beheer uit om ervoor te zorgen dat .NET Framework versie 4 is toegewezen aan de standaardtoepassingsgroep.
Druk op WINDOWS+R om het dialoogvenster Uitvoeren te openen.
(Voer in Windows 8 of hoger 'uitvoeren' in op de startpagina . Selecteer Uitvoeren in Windows 7 in het menu Start . Als Uitvoeren zich niet in het menu Start bevindt, klikt u met de rechtermuisknop op de taakbalk, selecteert u Eigenschappen, selecteert u het tabblad Startmenu , selecteert u Aanpassen en selecteert u Opdracht Uitvoeren.)
Voer 'inetmgr' in en selecteer OK.
Vouw in het deelvenster Verbindingen het serverknooppunt uit en selecteer Toepassingsgroepen. Ga in het deelvenster Toepassingsgroepen als DefaultAppPool is toegewezen aan .NET Framework versie 4, zoals in de volgende afbeelding, naar de volgende sectie.
Als u slechts twee toepassingsgroepen ziet en beide zijn ingesteld op .NET Framework 2.0, installeert u ASP.NET 4 in IIS.
Zie de instructies van de vorige sectie voor Windows 8 of hoger om ervoor te zorgen dat ASP.NET 4.7 is geïnstalleerd of zie Hoe u ASP.NET 4.5 installeert op Windows 8 en Windows Server 2012. Open voor Windows 7 een opdrachtpromptvenster door met de rechtermuisknop op de opdrachtprompt te klikken in het menu Start van Windows en Uitvoeren als administrator te selecteren. Voer aspnet_regiis.exe uit om ASP.NET 4 in IIS te installeren met behulp van de volgende opdrachten. (In 32-bits systemen vervangt u Framework64 door Framework.)
cd %windir%\Microsoft.NET\Framework64\v4.0.30319 aspnet_regiis.exe –iMet deze opdracht maakt u nieuwe toepassingsgroepen voor .NET Framework 4, maar de standaardtoepassingsgroep blijft ingesteld op 2.0. U implementeert een toepassing die is gericht op .NET 4 in die groep van toepassingen, dus wijzig de groep van toepassingen in .NET 4.
Als u IIS-beheer hebt gesloten, voert u het opnieuw uit, vouwt u het serverknooppunt uit en selecteert u Toepassingsgroepen.
Selecteer DefaultAppPool in het deelvenster Toepassingsgroepen. Selecteer Basisinstellingen in het deelvenster Acties.
Wijzig in het dialoogvenster Groep van toepassingen bewerken de .NET CLR-versie in .NET CLR v4.0.30319. Kies OK.
U bent nu klaar om een webtoepassing te publiceren naar IIS. Maak eerst databases om te testen.
SQL Server Express installeren
LocalDB is niet ontworpen voor gebruik in IIS, dus uw testomgeving moet SQL Server Express hebben geïnstalleerd. Als u Visual Studio 2010 SQL Server Express gebruikt, is deze standaard al geïnstalleerd. Als u Visual Studio 2012 of hoger gebruikt, installeert u SQL Server Express.
Als u SQL Server Express wilt installeren, downloadt en installeert u deze vanuit het Downloadcentrum: Microsoft SQL Server 2017 Express Edition.
Selecteer op de eerste pagina van het SQL Server-installatiecentrum de optie Nieuwe zelfstandige installatie van SQL Server of voeg functies toe aan een bestaande installatie en volg de instructies voor het accepteren van de standaardkeuzen. Accepteer de standaardinstellingen in de installatiewizard. Zie SQL Server installeren via de installatiewizard (Setup) voor meer informatie over installatieopties.
SQL Server Express-databases maken voor de testomgeving
De Contoso University-toepassing heeft twee databases:
- Lidmaatschapsdatabase
- Applicatiedatabase
U kunt deze databases implementeren in twee afzonderlijke databases of in één database. Door ze te combineren, zijn databasekoppelingen gemakkelijker.
Als u implementeert in een externe hostingprovider, kan uw hostingabonnement u ook een reden geven om ze te combineren. De provider kan bijvoorbeeld meer kosten in rekening brengen voor meerdere databases of zelfs niet meer dan één database toestaan.
In deze zelfstudie gaat u twee databases implementeren in de testomgeving en één database in zowel de staging- als de productieomgeving.
Selecteer Server Explorer (Database Explorer in Visual Web Developer) in het menu Beeld in Visual Studio. Klik met de rechtermuisknop op Gegevensverbindingen en selecteer Nieuwe SQL Server-database maken.
Voer in het dialoogvenster Nieuwe SQL Server-database maken '.\SQLExpress' in het vak Servernaam en 'aspnet-ContosoUniversity' in het vak Nieuwe databasenaam in. Kies OK.
Volg dezelfde procedure om een nieuwe SQL Server Express School-database met de naam ContosoUniversityte maken.
Server Explorer toont de twee nieuwe databases.
Een toekenningsscript maken voor de nieuwe databases
Wanneer de toepassing wordt uitgevoerd in IIS op uw ontwikkelcomputer, gebruikt de toepassing de referenties van de standaardtoepassingsgroep om toegang te krijgen tot de database. Standaard is de groep van toepassingen echter niet gemachtigd om de databases te openen. Dit betekent dat u een script moet uitvoeren om die machtiging te verlenen. In deze sectie maakt u dat script en voert u het later uit om ervoor te zorgen dat de toepassing de databases kan openen wanneer het wordt uitgevoerd in IIS.
Kopieer in een teksteditor de volgende SQL-opdrachten naar een nieuw bestand en sla deze op als 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
Open de Contoso University-oplossing in Visual Studio. Klik met de rechtermuisknop op de oplossing (niet op een van de projecten) en selecteer Toevoegen. Selecteer Bestaand item, blader naar Grant.sql en open het.
Opmerking
Dit script is ontworpen voor gebruik met SQL Server Express 2012 of hoger en met de IIS-instellingen in Windows 10, Windows 8 of Windows 7, zoals deze zijn opgegeven in deze zelfstudie. Als u een andere versie van SQL Server of Windows gebruikt, of als u IIS op uw computer anders instelt, zijn wijzigingen in dit script mogelijk vereist. Zie SQL Server Books Online voor meer informatie over SQL Server-scripts.
Opmerking
Beveiligingsnotitie Dit script geeft db_owner machtigingen aan de gebruiker die tijdens runtime toegang heeft tot de database. Dit is wat u in de productieomgeving hebt. In sommige scenario's wilt u mogelijk een gebruiker opgeven die alleen volledige databaseschema-updatemachtigingen heeft voor implementatie en voor runtime een andere gebruiker opgeven die alleen machtigingen heeft voor het lezen en schrijven van gegevens. Zie De automatische wijzigingen in Web.config voor Code First Migrations verderop in deze handleiding voor meer informatie.
Het toekenningsscript uitvoeren in de toepassingsdatabase
U kunt het publicatieprofiel configureren om het toekenningsscript uit te voeren in de lidmaatschapsdatabase tijdens de implementatie, omdat die database-implementatie gebruikmaakt van de dbDacFx-provider. U kunt tijdens de implementatie van Code First Migrations geen scripts uitvoeren. Dit is de wijze waarop u de toepassingsdatabase implementeert. Dit betekent dat u het script handmatig moet uitvoeren voordat het in de toepassingsdatabase wordt geïmplementeerd.
Open in Visual Studio het Grant.sql-bestand dat u eerder hebt gemaakt.
Selecteer Maak verbinding met.
Voer in het dialoogvenster Verbinding maken met server.\SQLExpress in als servernaam. Selecteer Maak verbinding met.
Selecteer ContosoUniversity in de vervolgkeuzelijst voor de database. Selecteer Uitvoeren.
De standaardidentiteit van de groep van toepassingen heeft nu voldoende machtigingen in de toepassingsdatabase voor Code First Migrations om de databasetabellen te maken wanneer de toepassing wordt uitgevoerd.
Publiceren naar IIS
Er zijn verschillende manieren waarop u kunt implementeren in IIS met behulp van Visual Studio en Web Deploy:
- Visual Studio met één klik publiceren gebruiken.
- Publiceren vanaf de opdrachtregel.
- Maak een implementatiepakket en installeer het met IIS Manager. Het pakket heeft een .zip bestand met alle bestanden en metagegevens die nodig zijn om een site in IIS te installeren.
- Maak een implementatiepakket en installeer het met behulp van de opdrachtregel.
Het proces dat u in de vorige zelfstudies hebt doorlopen om Visual Studio in te stellen om implementatietaken te automatiseren, is van toepassing op al deze methoden. In deze tutorials gebruikt u de eerste twee methoden. Zie Een webtoepassing implementeren door een webimplementatiepakket te maken en te installeren in het inhoudsoverzicht voor webimplementatie voor Visual Studio en ASP.NET voor meer informatie over het gebruik van implementatiepakketten.
Zorg ervoor dat u Visual Studio uitvoert in de beheerdersmodus voordat u publiceert. Als u (Administrator) niet ziet in de titelbalk, sluit u Visual Studio. Klik op de startpagina van Windows 8 (of hoger) of in het startmenu van Windows 7 met de rechtermuisknop op het pictogram van Visual Studio en selecteer Uitvoeren als administrator. De beheerdersmodus is alleen vereist voor publicatie wanneer u publiceert naar IIS op de lokale computer.
Het publicatieprofiel maken
Klik in Solution Explorer met de rechtermuisknop op het Project ContosoUniversity (niet het project ContosoUniversity.DAL ). Selecteer Publiceren. De pagina Publiceren wordt weergegeven.
Selecteer Nieuw profiel. Het dialoogvenster Doel publiceren kiezen wordt weergegeven.
Selecteer IIS, FTP, enzovoort. Selecteer Profiel maken. De wizard Publiceren wordt weergegeven.
Selecteer Web Deploy in het vervolgkeuzemenu Publicatiemethode.
Voer voor Serverlocalhost in.
Voer voor de naam van de site de standaardwebsite/ContosoUniversity in.
Voer voor doel-URL het volgende in http://localhost/ContosoUniversity.
De doel-URL-instelling is niet vereist. Wanneer Visual Studio klaar is met het implementeren van de toepassing, wordt uw standaardbrowser automatisch naar deze URL geopend. Als u niet wilt dat de browser automatisch wordt geopend na de implementatie, laat u dit vak leeg.
Selecteer Verbinding valideren om te controleren of de instellingen juist zijn en u verbinding kunt maken met IIS op de lokale computer.
Met een groen vinkje wordt gecontroleerd of de verbinding is geslaagd.
Selecteer Volgende om naar het tabblad Instellingen te gaan.
In de vervolgkeuzelijst Configuratie wordt de buildconfiguratie opgegeven die moet worden geïmplementeerd. Laat deze ingesteld op de standaardwaarde van Release. In deze zelfstudie implementeert u geen builds voor foutopsporing.
Vouw de opties voor het publiceren van bestanden uit. Selecteer Bestanden uitsluiten uit de map App_Data.
In de testomgeving opent de toepassing de databases die u hebt gemaakt in het lokale SQL Server Express-exemplaar, niet de .mdf bestanden in de map App_Data .
Laat de selectievakjes precompilatie tijdens het publiceren en verwijderen van extra bestanden op bestemming leeg.
Precompiling is een optie die vooral nuttig is voor grote sites. Het kan de opstarttijd verminderen wanneer een pagina voor het eerst wordt aangevraagd nadat de site is gepubliceerd.
U hoeft geen extra bestanden te verwijderen, omdat dit uw eerste implementatie is en er nog geen bestanden in de doelmap staan.
Opmerking
Als u Extra bestanden op de bestemming verwijderen selecteert voor een volgende implementatie naar dezelfde site, moet u ervoor zorgen dat u de preview-functie gebruikt, zodat u van tevoren ziet welke bestanden worden verwijderd voordat u implementeert. Het verwachte gedrag is dat Web Deploy bestanden verwijdert op de doelserver die u in uw project hebt verwijderd. De volledige mapstructuur onder de bron- en doelmappen wordt echter vergeleken; en in sommige scenario's kan Web Deploy bestanden verwijderen die u niet wilt verwijderen.
Als u bijvoorbeeld een webtoepassing in een submap op de server hebt wanneer u een project implementeert in de hoofdmap, wordt de submap verwijderd. Mogelijk hebt u één project voor de hoofdsite op contoso.com en een ander project voor een blog op contoso.com/blog. De blogapplicatie bevindt zich in een submap. Als u Extra bestanden op bestemming verwijderen selecteert wanneer u de hoofdsite implementeert, wordt de blogtoepassing verwijderd.
In een ander voorbeeld kan de map App_Data onverwacht worden verwijderd. Bepaalde databases, zoals SQL Server Compact, slaan databasebestanden op in de map App_Data. Na de eerste implementatie wilt u de databasebestanden niet blijven kopiëren in volgende implementaties, dus selecteert u Uitsluiten App_Data op het tabblad Pakket/Publiceren web. Nadat u dit hebt uitgevoerd als u extra bestanden op het doel hebt geselecteerd, worden uw databasebestanden en de App_Data map zelf verwijderd wanneer u de volgende keer publiceert.
Implementatie configureren voor de lidmaatschapsdatabase
De volgende stappen zijn van toepassing op de DefaultConnection-database in de sectie Databases van het dialoogvenster.
Voer in het vak Externe verbindingsreeks de volgende verbindingsreeks in die verwijst naar de nieuwe SQL Server Express-lidmaatschapsdatabase.
Data Source=.\SQLExpress;Initial Catalog=aspnet-ContosoUniversity;Integrated Security=TrueHet implementatieproces plaatst deze verbindingsreeks in het geïmplementeerde Web.config-bestand omdat deze verbindingsreeks tijdens runtime wordt gebruikt.
U kunt de verbindingsreeks ook ophalen uit Server Explorer. Vouw in Server Explorergegevensverbindingen uit en selecteer de <machinenaam>\sqlexpress.aspnet-ContosoUniversity-database en kopieer vervolgens in het venster Eigenschappen de waarde van de verbindingsreeks . Deze verbindingsreeks heeft één extra instelling die u kunt verwijderen:
Pooling=False.Selecteer Database bijwerken.
Dit zorgt ervoor dat het databaseschema tijdens de implementatie in de doeldatabase wordt gemaakt. In de volgende stappen geeft u de extra scripts op die u moet uitvoeren: een om databasetoegang te verlenen tot de standaardtoepassingsgroep en één om gegevens te implementeren.
Selecteer Configureren van database-updates.
Selecteer SQL-script toevoegen in het dialoogvenster Database-updates configureren. Navigeer naar het Grant.sql script dat u eerder in de oplossingsmap hebt opgeslagen.
Herhaal het proces om het aspnet-data-dev.sql script toe te voegen.
Selecteer Sluitaf.
Implementatie configureren voor de toepassingsdatabase
Wanneer Visual Studio een Entity Framework-klasse DbContext detecteert, wordt er een vermelding gemaakt in de sectie Databases met een selectievakje Code First Migrations uitvoeren in plaats van een selectievakje Database bijwerken . Voor deze zelfstudie gebruikt u dat selectievakje om de implementatie van Code First Migrations op te geven.
In sommige scenario's gebruikt u mogelijk een DbContext database, maar u wilt de dbDacFx-provider gebruiken in plaats van Migraties om de database te implementeren. In dat geval raadpleegt u Hoe implementeer ik een Code First-database zonder migraties? in de veelgestelde vragen over ASP.NET webimplementatie op MSDN.
De volgende stappen zijn van toepassing op de SchoolContext-database in de sectie Databases van het dialoogvenster.
Voer in het vak Externe verbindingsreeks de volgende verbindingsreeks in die verwijst naar de nieuwe SQL Server Express-toepassingsdatabase.
Data Source=.\SQLExpress;Initial Catalog=ContosoUniversity;Integrated Security=TrueHet implementatieproces plaatst deze verbindingsreeks in het geïmplementeerde Web.config-bestand omdat deze verbindingsreeks tijdens runtime wordt gebruikt.
U kunt ook de verbindingsreeks voor de toepassingsdatabase ophalen uit Server Explorer op dezelfde manier als u de verbindingsreeks voor de lidmaatschapsdatabase hebt ontvangen.
Selecteer Code First Migrations uitvoeren (wordt uitgevoerd bij het starten van de toepassing).
Deze optie zorgt ervoor dat het implementatieproces het geïmplementeerde Web.config-bestand configureert om de
MigrateDatabaseToLatestVersioninitialisatiefunctie op te geven. Met deze initialisatiefunctie wordt de database automatisch bijgewerkt naar de nieuwste versie wanneer de toepassing de database voor het eerst opent na de implementatie.
Transformaties van publiceerprofielen configureren
Selecteer Sluitaf. Selecteer Ja wanneer u wordt gevraagd of u wijzigingen wilt opslaan.
Vouw in Solution ExplorerEigenschappen uit en vouw PublishProfiles uit.
Klik met de rechtermuisknop op CustomProfile.pubxml en wijzig de naam Test.pubxml.
Klik met de rechtermuisknop op Test.pubxml. Selecteer Configuratietransformatie toevoegen.
Visual Studio maakt het Web.Test.config transformatiebestand en opent het.
Voeg in het Web.Test.config transformatiebestand de volgende code in direct na het openen van de configuratietag.
<appSettings> <add key="Environment" value="Test" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/> </appSettings>Wanneer u het testpublicatieprofiel gebruikt, wordt met deze transformatie de omgevingsindicator ingesteld op Testen. Op de gedistribueerde site ziet u '(Test)' na de H1-kop 'Contoso University'.
Sla het bestand op en sluit het.
Klik met de rechtermuisknop op het bestandWeb.Test.config en selecteer Voorbeeldtransformatie om ervoor te zorgen dat de transformatie die u hebt gecodeerd de verwachte wijzigingen produceert.
In het vensterWeb.config Preview ziet u het resultaat van het toepassen van zowel de Web.Release.config transformaties als de Web.Test.config transformaties.
Preview van de implementatie-updates
Open de wizard Web publiceren opnieuw (klik met de rechtermuisknop op het Project ContosoUniversity, selecteer Publiceren en vervolgens Preview).
Selecteer Voorbeeld starten in het dialoogvenster Voorbeeld om een lijst weer te geven met de bestanden die worden gekopieerd.
U kunt ook de Preview-databasekoppeling selecteren om de scripts te zien die worden uitgevoerd in de lidmaatschapsdatabase. (Er worden geen scripts uitgevoerd voor de implementatie van Code First Migrations, dus er is niets om een voorbeeld van de toepassingsdatabase te bekijken.)
Selecteer Publiceren.
Als Visual Studio zich niet in de beheerdersmodus bevindt, krijgt u mogelijk een foutbericht met machtigingen. Sluit In dat geval Visual Studio, open deze in de beheerdersmodus en probeer het opnieuw te publiceren.
Als Visual Studio zich in de beheerdersmodus bevindt, rapporteert het uitvoervenster dat de build is voltooid en gepubliceerd.
Als u de URL hebt ingevoerd in het vak Doel-URL op het tabblad Verbinding met het publicatieprofiel, wordt de browser automatisch geopend op de startpagina van Contoso University die wordt uitgevoerd in IIS op uw computer.
Testen in de testomgeving
U ziet dat de omgevingsindicator '(Test)' in plaats van '(Dev') weergeeft, waarin wordt aangegeven dat de Web.config transformatie voor de omgevingsindicator is geslaagd.
Voer de pagina Instructeurs uit om te controleren of Code First de database heeft gezaaid met docentgegevens. Wanneer u deze pagina selecteert, kan het enkele minuten duren voordat deze wordt geladen omdat code eerst de database maakt en vervolgens de Seed methode uitvoert. (Dit is niet gelukt toen u op de startpagina was omdat de toepassing nog geen toegang probeerde te krijgen tot de database.)
Selecteer het tabblad Leerlingen/studenten om te controleren of de geïmplementeerde database geen leerlingen/studenten heeft.
Selecteer Leerlingen/studenten toevoegen in het menu Leerlingen/studenten . Voeg een leerling/student toe en bekijk de nieuwe leerling/student op de pagina Leerlingen/studenten . Hiermee wordt gecontroleerd of u naar de database kunt schrijven.
Selecteer Credits bijwerken in het menu Cursussen. Voor de pagina Updatetegoed zijn beheerdersmachtigingen vereist, zodat de aanmeldingspagina wordt weergegeven. Voer de beheerdersaccountreferenties in die u eerder hebt gemaakt ('admin' en 'devpwd'). De pagina Updatetegoeden wordt weergegeven. Hiermee wordt gecontroleerd of het beheerdersaccount dat u in de vorige zelfstudie hebt gemaakt, correct is geïmplementeerd in de testomgeving.
** Controleer of er een ELMAH map bestaat in de map c:\inetpub\wwwroot\ContosoUniversity met alleen het plaatsaanduidingen bestand.
Bekijk de automatische Web.config wijzigingen voor Code First Migrations
Open het Web.config-bestand in de geïmplementeerde toepassing op C:\inetpub\wwwroot\ContosoUniversity en u kunt zien waar het implementatieproces Code First Migrations heeft geconfigureerd om de database automatisch bij te werken naar de nieuwste versie.
Tijdens het implementatieproces is ook een nieuwe verbindingsreeks gemaakt voor Code First Migrations die uitsluitend moet worden gebruikt voor het bijwerken van het databaseschema:
Met deze extra verbindingsreeks kunt u één gebruikersaccount opgeven voor databaseschema-updates en een ander gebruikersaccount voor toegang tot toepassingsgegevens. U kunt bijvoorbeeld de db_owner rol toewijzen aan Code First Migrations en db_datareader met db_datawriter rollen aan de toepassing. Dit is een algemeen diepgaande verdedigingspatroon dat voorkomt dat mogelijk schadelijke code in de toepassing het databaseschema wijzigt. (Dit kan bijvoorbeeld gebeuren bij een geslaagde SQL-injectieaanval.) In deze zelfstudies wordt dit patroon niet gebruikt. Voer de volgende stappen uit om dit patroon in uw scenario te implementeren:
Voer in de wizard Web publiceren onder het tabblad Instellingen de verbindingsreeks in die een gebruiker met volledige bevoegdheden voor het bijwerken van het databaseschema specificeert. Schakel het selectievakje Deze verbindingsreeks tijdens runtime gebruiken uit. In het geïmplementeerde Web.config-bestand wordt dit de
DatabasePublishverbindingsreeks.Maak een Web.config bestandstransformatie voor de verbindingsreeks die u tijdens de runtime wilt gebruiken voor de toepassing.
Overzicht
U hebt uw toepassing nu geïmplementeerd op IIS op uw ontwikkelcomputer en deze daar getest.
Hiermee wordt gecontroleerd of het implementatieproces de inhoud van de toepassing naar de juiste locatie heeft gekopieerd (met uitzondering van de bestanden die u niet wilde implementeren) en of Web Deploy IIS correct heeft geconfigureerd tijdens de implementatie. In de volgende zelfstudie voert u nog een test uit waarmee een implementatietaak wordt gevonden die nog niet is uitgevoerd: mapmachtigingen instellen voor de map Elm ah .
Meer informatie
Zie de volgende bronnen voor informatie over het uitvoeren van IIS of IIS Express in Visual Studio:
- Overzicht van IIS Express op de IIS.net-site.
- Introductie van IIS Express op scott Guthrie's blog.
- Webservers in Visual Studio voor ASP.NET Web Projects.
- Belangrijkste verschillen tussen IIS en de ASP.NET Development Server op de ASP.NET-site.