Zelfstudie: Een ASP.NET-app implementeren in Azure met Azure SQL Database
Azure App Service biedt een uiterst schaalbare webhostingservice met self-patchfunctie. In deze zelfstudie leert u hoe u een gegevensgestuurde ASP.NET-app implementeert in App Service en de app verbindt met Azure SQL Database. Wanneer u klaar bent, hebt u een ASP.NET-app die wordt uitgevoerd in Azure en is verbonden met SQL Database.

In deze zelfstudie leert u het volgende:
- Een database maken in Azure SQL Database
- Een ASP.NET-app verbinden met SQL Database
- De app implementeren in Azure
- Het gegevensmodel bijwerken en de app opnieuw implementeren
- Logboeken vanaf Azure naar uw terminal streamen
- De app in Azure Portal beheren
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Vereisten
Vereisten voor het voltooien van deze zelfstudie:
Installeer Visual Studio 2022 met de workload ASP.NET webontwikkeling.
Als u Visual Studio al hebt geïnstalleerd, voegt u de workloads toe in Visual Studio door te klikken op Hulpprogramma's > Hulpprogramma's en functies ophalen.
Het voorbeeld downloaden
Extraheer (uitpakken) het dotnet-sqldb-zelfstudie-master.zip-bestand.
Het voorbeeldproject bevat een eenvoudige ASP.NET MVC-CRUD-app (create-read-update-delete) die gebruikmaakt van Entity Framework Code First.
De app uitvoeren
Open het bestand dotnet-sqldb-tutorial-master/DotNetAppSqlDb.sln in Visual Studio.
Typ
Ctrl+F5voor het uitvoeren van de app zonder foutopsporing. De app wordt weergegeven in de standaardbrowser.Selecteer de koppeling Nieuwe maken en maak enkele taakitems.

Test de links Bewerken, Details en Verwijderen.
De app maakt gebruik van een databasecontext om met de database te verbinden. In dit voorbeeld gebruikt de databasecontext een verbindingsreeks met de naam MyDbConnection. De verbindingsreeks waarnaar wordt verwezen in het bestand Models/MyDatabaseContext.cs is ingesteld in het bestand Web.config. De naam van de tekenreeks wordt verderop in de zelfstudie gebruikt om de Azure-app te verbinden met een Azure SQL Database.
De ASP.NET-toepassing publiceren in Azure
Klik in de Solution Explorer met de rechtermuisknop op uw project DotNetAppSqlDb en selecteer Publiceren.

Selecteer Azure als uw doel en klik op Volgende.
Zorg ervoor dat Azure App Service (Windows) is geselecteerd en klik op Volgende.
Aanmelden en een app toevoegen
Klik in het dialoogvenster Publiceren op Aanmelden.
Meld u aan bij uw Azure-abonnement. Als u al bent aangemeld bij een Microsoft-account, moet u ervoor zorgen dat dit account uw Azure-abonnement bevat. Als het aangemelde Microsoft-account niet uw Azure-abonnement bevat, klikt u erop om het juiste account toe te voegen.
Klik in App Service deelvenster Exemplaren op + .

Naam van web-app configureren
U kunt de naam van de gegenereerde web-app houden of wijzigen in een andere unieke naam (geldige tekens zijn a-z, 0-9 en -). De naam van de web-app wordt gebruikt als onderdeel van de standaard-URL voor uw app (<app_name>.azurewebsites.net, waarbij <app_name> de naam is van uw web-app). De naam van de web-app moet uniek zijn in alle apps in Azure.
Notitie
Selecteer Maken nog niet.

Een resourcegroep maken
Een resourcegroep is een logische container waarin Azure-resources, zoals web-apps, databases en opslagaccounts, worden geïmplementeerd en beheerd. U kunt bijvoorbeeld later de hele resourcegroep in één stap verwijderen.
Klik naast Resourcegroep op Nieuw.

Noem de resourcegroep myResourceGroup.
Een App Service-plan maken
Een App Service-plan geeft de locatie, de grootte en de functies van de webserverfarm aan die als host fungeert voor uw app. U kunt geld besparen bij het hosten van meerdere apps door de web-apps te configureren voor het delen van één App Service-plan.
In App Service-plannen wordt het volgende gedefinieerd:
- Regio (bijvoorbeeld: Europa - noord, VS - oost of Azië - zuidoost)
- Exemplaargrootte (klein, normaal of groot)
- Het schaalaanpassingsaantal (1 tot 20 exemplaren)
- SKU (Free, Shared, Basic, Standard of Premium)
Klik naast Hostingplan op Nieuw.
Configureer in het dialoogvenster App Service-abonnement configureren de nieuwe App Service met de volgende instellingen en klik op OK:
Instelling Voorgestelde waarde Voor meer informatie App Service Plan myAppServicePlan App Service-abonnementen Locatie Europa -west Azure-regio's Grootte Gratis Prijscategorieën 
Klik op Maken en wacht tot de Azure-resources zijn gemaakt.
In het dialoogvenster Publiceren ziet u de resources die u hebt geconfigureerd. Klik op Voltooien.

Een server en database maken
Voordat u een database maakt, hebt u een logische SQL-server nodig. Een logische SQL-server is een logische omgeving met een groep met databases die worden beheerd als groep.
Schuif in het dialoogvenster Publiceren omlaag naar de sectie Serviceafhankelijkheden. Klik naast SQL Server Database op Configureren.
Notitie
Zorg ervoor dat u de SQL Database configureert op de pagina Publiceren in plaats van op de pagina Verbonden services.

Selecteer Azure SQL Database klik op Volgende.
Klik in het Azure SQL Database configureren op + .
Klik naast Databaseserver op Nieuw.
De servernaam wordt gebruikt als onderdeel van de standaard-URL voor uw server,
<server_name>.database.windows.net. Deze moet uniek zijn op alle servers in Azure SQL. Wijzig de servernaam in een waarde die u wilt.Voeg een administrator-gebruikersnaam en een wachtwoord toe. Zie Wachtwoordbeleid voor de vereisten voor wachtwoordcomplexiteit.
Onthoud deze gebruikersnaam en dit wachtwoord. U hebt deze later nodig om de server te beheren.

Belangrijk
Hoewel u uw wachtwoord in de verbindingsreeksen wordt gemaskeerd (in Visual Studio en ook in App Service), vergroot het feit dat het ergens wordt bijgehouden de kwetsbaarheid van uw app voor aanvallen. App Service kan beheerde service-identiteiten gebruiken om dit risico te elimineren door het bijhouden van geheimen in uw code of app-configuratie geheel onnodig te maken. Zie voor meer informatie Volgende stappen.
Klik op OK.
Laat in Azure SQL Database dialoogvenster de standaard gegenereerde Databasenaam staan. Selecteer Maken en wacht tot de databasebronnen zijn gemaakt.

Databaseverbinding configureren
Wanneer de wizard klaar is met het maken van de databasebronnen, klikt u op Volgende.
Typ myDbConnection connection string databasenaam. Deze naam moet overeenkomen met de verbindingsreeks waarnaar wordt verwezen in Models/MyDatabaseContext.cs.
Typ in Gebruikersnaam van databaseverbinding en Wachtwoord voor databaseverbinding de gebruikersnaam en het wachtwoord van de beheerder die u hebt gebruikt in Een server maken.
Zorg ervoor Azure-app Instellingen is geselecteerd en klik op Voltooien.
Notitie
Als u in plaats daarvan lokale bestanden met gebruikersgeheimen ziet, moet u deze SQL Database op de pagina Verbonden services in plaats van op de pagina Publiceren.

Wacht tot de configuratiewizard is voltooien en klik op Sluiten.
Uw app ASP.NET implementeren
Schuif op het tabblad Publiceren weer naar boven en klik op Publiceren. Zodra uw ASP.NET-app is geïmplementeerd in Azure. De standaardbrowser wordt gestart met de URL van de geïmplementeerde app.
Voeg enkele taakitems toe.

Gefeliciteerd! Uw gegevensgestuurde ASP.NET-toepassing wordt live in Azure App Service uitgevoerd.
Lokale toegang tot de database
Visual Studio kunt u uw nieuwe database in Azure eenvoudig verkennen en beheren in SQL Server Objectverkenner. De nieuwe database heeft de firewall al geopend voor de App Service-app die u hebt gemaakt, maar voor toegang vanaf uw lokale computer (zoals vanaf Visual Studio) moet u een firewall openen voor het openbare IP-adres van uw lokale computer. Als uw internetprovider uw openbare IP-adres wijzigt, moet u de firewall opnieuw configureren voor toegang tot de Azure-database.
Een databaseverbinding maken
Vanuit het Weergave-menu selecteert u SQL Server-objectverkenner.
Aan de bovenkant van SQL Server-objectverkenner, klikt u op de knop SQL Server toevoegen.
Verbinding met de database configureren
Vouw in het dialoogvenster Verbinden het Azure-knooppunt uit. Al uw SQL Database-exemplaren in Azure worden hier weergegeven.
Selecteer de database die u eerder hebt gemaakt. De verbinding die u eerder hebt gemaakt, wordt automatisch onderaan ingevuld.
Typ het wachtwoord van de databasebeheerder dat u eerder hebt gemaakt en klik op Verbinden.

Clientverbinding vanaf uw computer toestaan
Het dialoogvenster Een nieuwe firewallregel maken. Een server staat standaard alleen verbindingen naar de bijbehorende databases toe vanuit Azure-services, zoals uw Azure-app. Maak een firewallregel op serverniveau om buiten Azure verbinding te maken met uw database. De firewallregel staat het openbare IP-adres van uw lokale computer toe.
In het dialoogvenster is het openbare IP-adres van uw computer al ingevuld.
Zorg ervoor dat Mijn client-IP toevoegen is geselecteerd en klik op OK.

Zodra de Visual Studio klaar is met het maken van de firewallinstelling voor uw exemplaar van SQL Database, wordt uw verbinding weergegeven in SQL Server-objectverkenner.
Hier kunt u de meest voorkomende databasebewerkingen uitvoeren, zoals het uitvoeren van query's, het maken van weergaven en opgeslagen procedures en meer.
Vouw uw verbinding uit > Databases > <uw database > > Tabellen. Klik met de rechtermuisknop op de
Todoes-tabel en selecteer Gegevens weergeven.
De app bijwerken met Code First Migrations
U kunt de vertrouwde hulpprogramma's in Visual Studio gebruiken om uw database en app in Azure bij te werken. In deze stap kunt u met Code First Migrations in Entity Framework een wijziging aanbrengen in uw databaseschema en deze publiceren naar Azure.
Zie voor meer informatie over het gebruik van Entity Framework Code First Migrations, Aan de slag met Entity Framework 6 Code First met MVC 5.
Gegevensmodel bijwerken
Open Models\Todo.cs in de code-editor. Voeg de volgende eigenschap toe aan de klasse ToDo:
public bool Done { get; set; }
Code First Migrations lokaal uitvoeren
Voer enkele opdrachten uit om de lokale database bij te werken.
Klik in het menu Hulpprogramma’s op NuGet Package Manager > Package Manager Console.
Schakel in het Package Manager Console-venster Code First Migrations in:
Enable-MigrationsVoeg een migratie toe:
Add-Migration AddPropertyWerk de lokale database bij:
Update-DatabaseTyp
Ctrl+F5om de app uit te voeren. Test de links voor bewerkingen, details, en maken.
Als de toepassing wordt geladen zonder fouten, is Code First Migrations voltooid. Uw pagina ziet er echter nog steeds hetzelfde uit omdat uw toepassingslogica deze nieuwe eigenschap niet nog gebruikt.
Nieuwe eigenschap gebruiken
Breng enkele wijzigingen aan de code aan zodat de eigenschap Done kan worden gebruikt. Om deze zelfstudie eenvoudig te houden, wijzigt u eerst de weergaven Index en Create om de eigenschap in actie te zien.
Open Controllers\TodosController.cs.
Zoek de methode
Create()in regel 52 en voegDonetoe aan de lijst met eigenschappen in het kenmerkBind. Als u klaar bent, ziet uw methodeCreate()er uit als de onderstaande code:public ActionResult Create([Bind(Include = "Description,CreatedDate,Done")] Todo todo)Open Views\Todos\Create.cshtml.
In de Razor-code zou u een
<div class="form-group">-element moeten zien datmodel.Descriptiongebruikt en vervolgens een ander<div class="form-group">-element voormodel.CreatedDate. Voeg direct na deze twee elementen een ander<div class="form-group">-element voormodel.Donetoe:<div class="form-group"> @Html.LabelFor(model => model.Done, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> <div class="checkbox"> @Html.EditorFor(model => model.Done) @Html.ValidationMessageFor(model => model.Done, "", new { @class = "text-danger" }) </div> </div> </div>Open Views\Todos\Index.cshtml.
Zoek het lege element
<th></th>. Vlak boven dit element voegt u de volgende Razor-code toe:<th> @Html.DisplayNameFor(model => model.Done) </th>Zoek het
<td>-element dat de helpermethodenHtml.ActionLink()bevat. Voeg boven dit<td>een ander<td>-element toe met de volgende Razor-code:<td> @Html.DisplayFor(modelItem => item.Done) </td>Meer hebt u niet nodig om de wijzigingen in de weergaven
IndexenCreatete zien.Typ
Ctrl+F5om de app uit te voeren.
U kunt nu een taakitem toevoegen en Gereed aanvinken. Het moet nu als een voltooid taakitem worden weergegeven op uw startpagina. In de weergave Edit wordt het veld Done niet getoond omdat u de weergave Edit niet hebt gewijzigd.
Code First Migrations in Azure uitvoeren
Nu het wijzigen van uw code werkt, met inbegrip van de databasemigratie, moet u deze publiceren naar uw Azure-app en ook uw SQL Database bijwerken met Code First Migrations.
Klik net als voorheen met de rechtermuisknop op uw project en selecteer Publiceren.
Klik op Meer acties Bewerken > om de publicatie-instellingen te openen.

Selecteer in de vervolgkeuzepagina MyDatabaseContext de databaseverbinding voor uw Azure SQL Database.
Selecteer Code First-migraties uitvoeren (wordt uitgevoerd bij de start van toepassing) , klik vervolgens op Opslaan.

Uw wijzigingen publiceren
Nu dat u Code First Migrations in uw Azure-app hebt ingeschakeld, moet u uw codewijzigingen publiceren.
Klik op de publicatiepagina op Publiceren.
Probeer opnieuw taakitems toe te voegen en selecteer Gereed, dan moeten ze worden weergegeven in uw startpagina als een voltooid item.

Alle bestaande taakitems worden nog steeds weergegeven. Als u de ASP.NET Core-toepassing opnieuw publiceert, blijven bestaande gegevens in SQL Database behouden. En met Code First Migrations wordt alleen het gegevensschema gewijzigd. De bestaande gegevens blijven ongewijzigd.
Toepassingslogboeken streamen
U kunt traceringsberichten rechtstreeks vanuit uw Azure-app streamen met Visual Studio.
Open Controllers\TodosController.cs.
Elke actie begint met een Trace.WriteLine()-methode. Deze code wordt toegevoegd om te tonen hoe u traceringsberichten toevoegt aan uw Azure-app.
Logboekstreaming activeren
Selecteer cloudverkenner in het menu Weergave.
Vouw in Cloud Explorer het Azure-abonnement uit dat uw app heeft en vouw App Service.
Klik met de rechtermuisknop op uw Azure-app en selecteer Streaminglogboeken bekijken.

De logboeken worden nu gestreamd naar het venster Uitvoer.

U ziet echter nog geen traceerberichten. Wanneer u voor het eerst Streaminglogboeken bekijken selecteert, stelt uw Azure-app namelijk eerst het traceringsniveau op
Errorin. Dit legt alleen foutgebeurtenissen vast (met de methodeTrace.TraceError()).
Traceringsniveaus wijzigen
Als u de traceerniveaus wilt wijzigen om andere traceerberichten uit te geven, gaat u terug naar Cloud Explorer.
Klik opnieuw met de rechtermuisknop op uw app en selecteer Openen in portal.
Selecteer op de portalbeheerpagina voor uw app in het linkermenu de optie App Service logboeken.
Selecteer Application Logging (bestandssysteem) de optie Uitgebreid in Niveau. Klik op Opslaan.

Tip
U kunt experimenteren met verschillende traceringsniveaus om te zien welke typen berichten worden weergegeven voor elk niveau. Het niveau Informatie omvat bijvoorbeeld alle logboeken die zijn gemaakt voor
Trace.TraceInformation(),Trace.TraceWarning()enTrace.TraceError(), maar niet de logboeken die zijn gemaakt doorTrace.WriteLine().Navigeer in uw browser opnieuw naar uw app op http://<uw app-naam>.azurewebsites.net, probeer vervolgens rond te klikken in de lijst met taken in Azure. Nu worden de traceringsberichten gestreamd naar het venster Uitvoer in Visual Studio.
Application: 2017-04-06T23:30:41 PID[8132] Verbose GET /Todos/Index Application: 2017-04-06T23:30:43 PID[8132] Verbose GET /Todos/Create Application: 2017-04-06T23:30:53 PID[8132] Verbose POST /Todos/Create Application: 2017-04-06T23:30:54 PID[8132] Verbose GET /Todos/Index
Logboekstreaming stoppen
Om de service logboekstreaming te stoppen, klikt u op de knop Bewaking stoppen in het venster Uitvoer.

Uw Azure-app beheren
Ga naar Azure Portal om de web-app te beheren. Zoek en selecteer App Services.

Selecteer de naam van uw Azure-app.

U bevindt zich op de pagina van uw app.
In de portal wordt standaard de pagina Overzicht getoond. Deze pagina geeft u een overzicht van hoe uw app presteert. Hier kunt u ook algemene beheertaken uitvoeren, zoals bladeren, stoppen, starten, opnieuw opstarten en verwijderen. De tabbladen aan de linkerkant van de pagina tonen de verschillende configuratiepagina's die u kunt openen.

Resources opschonen
In de voorgaande stappen hebt u Azure-resources in een resourcegroep gemaakt. Als u deze resources in de toekomst waarschijnlijk niet nodig hebt, kunt u ze verwijderen door de resourcegroep te verwijderen.
- Selecteer op de pagina Overzicht in Azure Portal de link myResourceGroup onder Resourcegroep.
- Controleer op de pagina van de resourcegroep of de weergegeven resources de resources zijn die u wilt verwijderen.
- Selecteer Verwijderen, typ myResourceGroup in het tekstvak en selecteer vervolgens Verwijderen.
Volgende stappen
In deze zelfstudie heeft u het volgende geleerd:
- Een database maken in Azure SQL Database
- Een ASP.NET-app verbinden met SQL Database
- De app implementeren in Azure
- Het gegevensmodel bijwerken en de app opnieuw implementeren
- Logboeken vanaf Azure naar uw terminal streamen
- De app in Azure Portal beheren
Ga naar de volgende zelfstudie om te ontdekken hoe u eenvoudig de beveiliging van uw verbinding met Azure SQL Database kunt verbeteren.
Meer resources:
Wilt u uw clouduitgaven optimaliseren en geld besparen?