Öğretici: ASP.NET Core'Azure SQL Veritabanı uygulama Azure App Service
Azure App Service, Azure'da yüksek oranda ölçeklenebilir, kendi kendine düzeltme eki uygulama hizmeti sağlar. Bu öğreticide, bir ASP.NET Core uygulamanın nasıl oluşturularak SQL Veritabanı. Bu işi tamamlasanız, App Service'de çalışan bir .NET MVC Windows.
Azure App Service Linux işletim sistemini kullanarak yüksek oranda ölçeklenebilir, kendi kendine düzeltme eki uygulama web barındırma hizmeti sağlar. Bu öğreticide, bir ASP.NET Core uygulamanın nasıl oluşturularak bir SQL Veritabanı. Bu işi tamamlasanız, ASP.NET Core'de çalışan bir MVC Linux üzerinde App Service.

Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:
- Azure’da SQL Veritabanı oluşturma
- Bağlan bir ASP.NET Core uygulamayı SQL Veritabanı
- Uygulamayı Azure’da dağıtma
- Veri modelini güncelleştirme ve uygulamayı yeniden dağıtma
- Azure’daki tanılama günlüklerinin akışını sağlama
- Uygulamayı Azure portalında yönetme
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Önkoşullar
Bu öğreticiyi tamamlamak için:
Azure Cloud Shell'Da Bash ortamını kullanın.
Dilerseniz CLI başvuru komutlarını çalıştırmak için Azure CLI’yi yükleyebilirsiniz.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Ek oturum açma seçenekleri için bkz. Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantılarını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Yerel ASP.NET Core uygulaması oluşturma
Bu adımda, yerel ASP.NET Core projesini ayarlarsınız.
Örnek uygulamayı kopyalama
Terminal penceresinde,
cdile bir çalışma dizinine gidin.Örnek depoyu kopyalamak ve kökünü değiştirmek için aşağıdaki komutları çalıştırın.
git clone https://github.com/azure-samples/dotnetcore-sqldb-tutorial cd dotnetcore-sqldb-tutorialÖrnek proje, Entity Framework Core kullanan temel bir CRUD (oluşturma-okuma-güncelleştirme-silme) uygulaması içerir.
Varsayılan dal'ın olduğundan emin
mainolun.git branch -m main
Uygulamayı çalıştırma
Gerekli paketleri yüklemek, veritabanı geçişlerini çalıştırmak ve uygulamayı başlatmak için aşağıdaki komutları çalıştırın.
dotnet tool install -g dotnet-ef dotnet ef database update dotnet runBir tarayıcıda
http://localhost:5000sayfasına gidin. Yeni Oluştur bağlantısını seçin ve yapılacak birkaç iş oluşturun.
ASP.NET Core’u dilediğiniz zaman durdurmak için, terminalde
Ctrl+Ctuşlarına basın.
Üretim SQL Veritabanı oluşturma
Bu adımda, Azure’da bir SQL Veritabanı oluşturursunuz. Uygulamanız Azure’da dağıtıldığında bu bulut veritabanını kullanır.
SQL Veritabanı için bu öğreticide Azure SQL Veritabanı kullanılır.
Kaynak grubu oluşturma
Kaynak grubu , Web uygulamaları, veritabanları ve depolama hesapları gibi Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. Örneğin, daha sonra tek bir basit adımda kaynak grubun tamamını silmeyi seçebilirsiniz.
Cloud Shell, komutuyla bir kaynak grubu oluşturun az group create . Aşağıdaki örnek Batı Avrupa konumunda myResourceGroup adlı bir kaynak grubu oluşturur. Ücretsiz katmanda App Service için desteklenen tüm konumları görüntülemek için az appservice list-locations --sku FREE komutunu çalıştırın.
az group create --name myResourceGroup --location "West Europe"
Genellikle kaynak grubunuzu ve kaynakları kendinize yakın bir bölgede oluşturursunuz.
Komut tamamlandığında, bir JSON çıkışı size kaynak grubu özelliklerini gösterir.
SQL Veritabanı mantıksal sunucusu oluşturma
Komut Cloud Shell komutuyla SQL Veritabanı bir mantıksal sunucu az sql server create oluşturun.
Yer <server-name> tutucusunu benzersiz bir SQL Veritabanı değiştirin. Bu ad, genel olarak benzersiz olan uç nokta olan SQL Veritabanı <server-name>.database.windows.net kullanılır. Geçerli karakterler a - z : 0 - 9 , , - . Ayrıca, ve <db-username> yerine tercih edin bir kullanıcı adı ve parola <db-password> yazın.
az sql server create --name <server-name> --resource-group myResourceGroup --location "West Europe" --admin-user <db-username> --admin-password <db-password>
SQL Veritabanı mantıksal sunucusu oluşturulduğunda Azure CLI, aşağıdaki örneğe benzer bilgiler gösterir:
{
"administratorLogin": "<db-username>",
"administratorLoginPassword": null,
"fullyQualifiedDomainName": "<server-name>.database.windows.net",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Sql/servers/<server-name>",
"identity": null,
"kind": "v12.0",
"location": "westeurope",
"name": "<server-name>",
"resourceGroup": "myResourceGroup",
"state": "Ready",
"tags": null,
"type": "Microsoft.Sql/servers",
"version": "12.0"
}
Sunucu güvenlik duvarı kurallarını yapılandırma
az sql server firewall createkomutunu kullanarak Azure SQL Veritabanı sunucusu düzeyinde güvenlik duvarı kuralı oluşturun. Hem başlangıç hem bitiş IP’si 0.0.0.0 olarak ayarlandığında, güvenlik duvarı yalnızca diğer Azure kaynakları için açılır.az sql server firewall-rule create --resource-group myResourceGroup --server <server-name> --name AllowAzureIps --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0İpucu
Yalnızca uygulamanızın kullandığı giden IP adreslerini kullanarak güvenlik duvarı kurallarınızda daha da kısıtlayıcı olabilirsiniz.
Komut Cloud Shell komutunu yeniden çalıştırarak yerel bilgisayarınızdan erişime izin vermek için yerine yerel <your-ip-address> IPv4 IP adresinizi yazın.
az sql server firewall-rule create --name AllowLocalClient --server <server-name> --resource-group myResourceGroup --start-ip-address=<your-ip-address> --end-ip-address=<your-ip-address>
Veritabanı oluşturma
az sql db create komutunu kullanarak sunucuda S0 performans düzeyine sahip bir veritabanı oluşturun.
az sql db create --resource-group myResourceGroup --server <server-name> --name coreDB --service-objective S0
Bağlantı dizesini alma
komutunu kullanarak bağlantı dizesini az sql db show-connection-string alır.
az sql db show-connection-string --client ado.net --server <server-name> --name coreDB
Komut çıkışında, <username> ve yerine <password> daha önce kullanılan veritabanı yöneticisi kimlik bilgilerini yazın.
Bu, uygulamanıza ASP.NET Core dizesidir. Dizeyi daha sonra kullanmak üzere kopyalayın.
Uygulamayı üretim veritabanına bağlanarak yapılandırma
Yerel deponuzda, Startup.cs dosyasını açın ve aşağıdaki kodu bulun:
services.AddDbContext<MyDatabaseContext>(options =>
options.UseSqlite("Data Source=localdatabase.db"));
Aşağıdaki kodla değiştirin.
services.AddDbContext<MyDatabaseContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("MyDbConnection")));
Önemli
Ölçeğin dışarı doğru ölçeklendirilen üretim uygulamaları için Üretimde geçişleri uygulama konusunda en iyi yöntemleri izleyin.
Veritabanı geçişlerini üretim veritabanına çalıştırma
Şu anda uygulamanız yerel bir Sqlite veritabanına bağlanır. Artık bir yapılandırma yapılandırdı Azure SQL Veritabanı hedefle için ilk geçişi yeniden oluşturun.
Depo kökünden aşağıdaki komutları çalıştırın. yerine <connection-string> daha önce oluşturduğunuz bağlantı dizesini kullanın.
# Delete old migrations
rm -r Migrations
# Recreate migrations with UseSqlServer (see previous snippet)
dotnet ef migrations add InitialCreate
# Set connection string to production database
# PowerShell
$env:ConnectionStrings:MyDbConnection="<connection-string>"
# CMD (no quotes)
set ConnectionStrings:MyDbConnection=<connection-string>
# Bash (no quotes)
export ConnectionStrings__MyDbConnection=<connection-string>
# Run migrations
dotnet ef database update
Uygulamayı yeni yapılandırmayla çalıştırma
Veritabanı geçişleri üretim veritabanında çalıştır):
dotnet runBir tarayıcıda
http://localhost:5000sayfasına gidin. Yeni Oluştur bağlantısını seçin ve yapılacak birkaç iş oluşturun. Artık uygulamanız üretim veritabanına veri okuyor ve yazıyor.Yerel değişikliklerinizi işle ve ardından Git depona işle.
git add . git commit -m "connect to SQLDB in Azure"
Artık kodunuzu dağıtmaya hazır oluruz.
Uygulamayı Azure’da dağıtma
Bu adımda, bağlı SQL Veritabanı uygulamanızı ASP.NET Core dağıtım App Service.
Yerel git dağıtımını yapılandırma
FTP ve yerel git, bir dağıtım kullanıcısı kullanarak bir Azure Web uygulamasına dağıtabilir. Dağıtım kullanıcısını yapılandırdıktan sonra tüm Azure dağıtımlarınız için kullanabilirsiniz. Hesap düzeyinde dağıtım Kullanıcı adınız ve parolanız, Azure aboneliği kimlik bilgilerinizden farklı.
Dağıtım kullanıcısını yapılandırmak için, Azure Cloud Shell bölümünde az WebApp Deployment User set komutunu çalıştırın. <username>Ve öğesini <password> bir dağıtım kullanıcısı Kullanıcı adı ve parolasıyla değiştirin.
- Kullanıcı adı Azure içinde benzersiz olmalıdır ve yerel git gönderimleri için ' @ ' sembolünü içermemelidir.
- Parola en az sekiz karakter uzunluğunda olmalıdır ve şu üç öğeden ikisi vardır: harfler, rakamlar ve semboller.
az webapp deployment user set --user-name <username> --password <password>
JSON çıktısı parolayı olarak gösterir null . 'Conflict'. Details: 409 hatası alırsanız kullanıcı adını değiştirin. 'Bad Request'. Details: 400 hatası alırsanız daha güçlü bir parola kullanın.
Web uygulamalarınızı dağıtmak için kullanmak üzere Kullanıcı adınızı ve parolanızı kaydedin.
App Service planı oluşturma
Cloud Shell, komutuyla bir App Service planı oluşturun az appservice plan create .
Aşağıdaki örnekte, Ücretsiz fiyatlandırma katmanı kullanılarak myAppServicePlan adlı bir App Service planı oluşturulmaktadır:
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE
App Service planı oluşturulduğunda Azure CLI, aşağıdaki örneğe benzer bilgiler gösterir:
{
"adminSiteName": null,
"appServicePlanName": "myAppServicePlan",
"geoRegion": "West Europe",
"hostingEnvironmentProfile": null,
"id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan",
"kind": "app",
"location": "West Europe",
"maximumNumberOfWorkers": 1,
"name": "myAppServicePlan",
< JSON data removed for brevity. >
"targetWorkerSizeId": 0,
"type": "Microsoft.Web/serverfarms",
"workerTierName": null
}
Komut Cloud Shell ile bir App Service planı az appservice plan create oluşturun.
Aşağıdaki örnekte, Ücretsiz fiyatlandırma katmanı kullanılarak myAppServicePlan adlı bir App Service planı oluşturulmaktadır:
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE --is-linux
App Service planı oluşturulduğunda Azure CLI, aşağıdaki örneğe benzer bilgiler gösterir:
{
"freeOfferExpirationTime": null,
"geoRegion": "West Europe",
"hostingEnvironmentProfile": null,
"id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan",
"kind": "linux",
"location": "West Europe",
"maximumNumberOfWorkers": 1,
"name": "myAppServicePlan",
< JSON data removed for brevity. >
"targetWorkerSizeId": 0,
"type": "Microsoft.Web/serverfarms",
"workerTierName": null
}
Web uygulaması oluşturma
App Service planında bir Web uygulaması oluşturun myAppServicePlan .
Cloud Shell az webapp create komutunu kullanabilirsiniz. Aşağıdaki örnekte <app-name> kısmını genel olarak benzersiz bir uygulama adıyla değiştirin (geçerli karakterler a-z, 0-9 ve - şeklindedir).
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --deployment-local-git
Web uygulaması oluşturulduğunda Azure CLI aşağıda yer alan çıktıdaki gibi bilgiler gösterir:
Local git is configured with url of 'https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git'
{
"availabilityState": "Normal",
"clientAffinityEnabled": true,
"clientCertEnabled": false,
"clientCertExclusionPaths": null,
"cloningInfo": null,
"containerSize": 0,
"dailyMemoryTimeQuota": 0,
"defaultHostName": "<app-name>.azurewebsites.net",
"deploymentLocalGitUrl": "https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git",
"enabled": true,
< JSON data removed for brevity. >
}
Not
Git uzak URL’si deploymentLocalGitUrl özelliği içinde https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git biçiminde gösterilir. Bu URL’ye daha sonra ihtiyacınız olacağı için URL’yi kaydedin.
App Service planında bir web myAppServicePlan uygulaması oluşturun.
Komut Cloud Shell komutunu az webapp create kullanabilirsiniz. Aşağıdaki örnekte <app-name> kısmını genel olarak benzersiz bir uygulama adıyla değiştirin (geçerli karakterler a-z, 0-9 ve - şeklindedir). Çalışma zamanı DOTNET|5.0 olarak ayarlanmıştır. Desteklenen tüm çalışma zamanlarını görmek için az webapp list-runtimes --linux çalıştırın.
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime 'DOTNET|5.0' --deployment-local-git
Web uygulaması oluşturulduğunda Azure CLI aşağıda yer alan çıktıdaki gibi bilgiler gösterir:
Local git is configured with url of 'https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git'
{
"availabilityState": "Normal",
"clientAffinityEnabled": true,
"clientCertEnabled": false,
"cloningInfo": null,
"containerSize": 0,
"dailyMemoryTimeQuota": 0,
"defaultHostName": "<app-name>.azurewebsites.net",
"deploymentLocalGitUrl": "https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git",
"enabled": true,
< JSON data removed for brevity. >
}
Linux kapsayıcısı içinde git dağıtımı etkinleştirilmiş boş bir web uygulaması oluşturdunız.
Not
Git uzak URL’si deploymentLocalGitUrl özelliği içinde https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git biçiminde gösterilir. Bu URL’ye daha sonra ihtiyacınız olacağı için URL’yi kaydedin.
Bağlantı dizesini yapılandırma
Azure uygulamanıza bağlantı dizeleri ayarlamak için aşağıdaki az webapp config appsettings set komutta Cloud Shell. Aşağıdaki komutta parametresini <app-name> ve parametresini <connection-string> daha önce oluşturduğunuz bağlantı dizesiyle değiştirin.
az webapp config connection-string set --resource-group myResourceGroup --name <app-name> --settings MyDbConnection='<connection-string>' --connection-string-type SQLAzure
Bu ASP.NET Core, MyDbConnection appsettings.json içinde belirtilen herhangi bir bağlantı dizesi gibi standart deseni kullanarak bu adlandırılmış bağlantı dizesini ( ) kullanabilirsiniz. Bu durumda, MyDbConnection appsettings.json dosyanız içinde de tanımlanır. uygulama içinde App Service, App Service appsettings.json içinde tanımlanan bağlantı dizesine göre önceliklidir. Kod, yerel geliştirme sırasında appsettings.json değerini, aynı kod ise dağıtıldığında App Service değerini kullanır.
Kodda bağlantı dizesine nasıl başvurul olduğunu görmek için bkz. Üretim veritabanına bağlanmak için uygulamayı yapılandırma.
Git üzerinden Azure'a gönderme
Dalı dağıtıyorsanız, App Service uygulamanızın varsayılan dağıtım dalını olarak
mainmainayarlamalısınız (bkz. Dağıtım dalını değiştirme). Komut Cloud Shell uygulamaDEPLOYMENT_BRANCHayarını komutuylaaz webapp config appsettings setayarlayın.az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'Yerel terminal penceresine dönüp yerel Git deponuza bir Azure uzak deposu ekleyin. yerine <deploymentLocalGitUrl-from-create-step> Web uygulaması oluşturma sayfasından kaydedilen Git uzak url'sini yazın.
git remote add azure <deploymentLocalGitUrl-from-create-step>Aşağıdaki komutla uygulamanızı dağıtmak için Azure uzak deposuna gönderin. Git Kimlik Bilgileri Yöneticisi sizden kimlik bilgileri istendiğinde, dağıtım kullanıcısını yapılandırma'da oluşturduğunuz kimlik bilgilerini, kullanıcı arabiriminde oturum a açma için değil , kimlik bilgilerini Azure portal.
git push azure mainBu komutun çalıştırılması birkaç dakika sürebilir. Çalıştırıldığında, aşağıdaki örneğe benzer bilgiler görüntüler:
Enumerating objects: 268, done.
Counting objects: 100% (268/268), done.
Compressing objects: 100% (171/171), done.
Writing objects: 100% (268/268), 1.18 MiB | 1.55 MiB/s, done.
Total 268 (delta 95), reused 251 (delta 87), pack-reused 0
remote: Resolving deltas: 100% (95/95), done.
remote: Updating branch 'main'.
remote: Updating submodules.
remote: Preparing deployment for commit id '64821c3558'.
remote: Generating deployment script.
remote: Project file path: .\DotNetCoreSqlDb.csproj
remote: Generating deployment script for ASP.NET MSBuild16 App
remote: Generated deployment script files
remote: Running deployment command...
remote: Handling ASP.NET Core Web Application deployment with MSBuild16.
remote: .
remote: .
remote: .
remote: Finished successfully.
remote: Running post deployment command(s)...
remote: Triggering recycle (preview mode disabled).
remote: App container will begin restart within 10 seconds.
To https://<app-name>.scm.azurewebsites.net/<app-name>.git
* [new branch] main -> main
Enumerating objects: 273, done.
Counting objects: 100% (273/273), done.
Delta compression using up to 4 threads
Compressing objects: 100% (175/175), done.
Writing objects: 100% (273/273), 1.19 MiB | 1.85 MiB/s, done.
Total 273 (delta 96), reused 259 (delta 88)
remote: Resolving deltas: 100% (96/96), done.
remote: Deploy Async
remote: Updating branch 'main'.
remote: Updating submodules.
remote: Preparing deployment for commit id 'cccecf86c5'.
remote: Repository path is /home/site/repository
remote: Running oryx build...
remote: Build orchestrated by Microsoft Oryx, https://github.com/Microsoft/Oryx
remote: You can report issues at https://github.com/Microsoft/Oryx/issues
remote: .
remote: .
remote: .
remote: Done.
remote: Running post deployment command(s)...
remote: Triggering recycle (preview mode disabled).
remote: Deployment successful.
remote: Deployment Logs : 'https://<app-name>.scm.azurewebsites.net/newui/jsonviewer?view_url=/api/deployments/cccecf86c56493ffa594e76ea1deb3abb3702d89/log'
To https://<app-name>.scm.azurewebsites.net/<app-name>.git
* [new branch] main -> main
Azure uygulamasına göz atma
Web tarayıcınızı kullanarak dağıtılan uygulamaya göz atma.
http://<app-name>.azurewebsites.netYapılacak birkaç iş ekleyin.

Tebrikler! Veri odaklı bir ASP.NET Core App Service.
Yerel olarak güncelleştirme ve yeniden dağıtma
Bu adımda, veritabanı şemanızda bir değişiklik yapacak ve bunu Azure’da yayımlayacaksınız.
Veri modelinizi güncelleştirme
Kod düzenleyicisinde Models/Todo.cs'yi açın. ToDo sınıfına aşağıdaki özelliği ekleyin:
public bool Done { get; set; }
Veritabanı geçişlerini yeniden çalıştır
Üretim veritabanında güncelleştirme yapmak için birkaç komut çalıştırın.
dotnet ef migrations add AddProperty
dotnet ef database update
Not
Yeni bir Terminal penceresi açarsanız, üretim veritabanına veritabanı geçişlerini Çalıştır' da yaptığınız gibi, bağlantı dizesini terminaldeki üretim veritabanına ayarlamanız gerekir.
Yeni özelliği kullanma
Done özelliğini kullanarak kodunuzda birkaç değişiklik yapın. Bu öğreticide, daha kolay uygulama için, işlemin nasıl çalıştığını görmek üzere yalnızca Index ve Create görünümlerini değiştireceksiniz.
Denetleyicileri/TodosController. cs dosyasını açın.
Create([Bind("ID,Description,CreatedDate")] Todo todo)metodunu bulun veDonedeğeriniBindözniteliğindeki özellik listesine ekleyin. Hazır olduğunuzda,Create()metot imzanız aşağıdaki koda benzer şekilde görünür:public async Task<IActionResult> Create([Bind("ID,Description,CreatedDate,Done")] Todo todo)Görünümleri/Todos/Create. cshtml dosyasını açın.
Razor kodunda,
Descriptioniçin<div class="form-group">öğesi veCreatedDateiçin başka bir<div class="form-group">öğesi görürsünüz. Aşağıdaki iki öğeyi takip edenDoneiçin başka bir<div class="form-group">öğesi ekleyin:<div class="form-group"> <label asp-for="Done" class="col-md-2 control-label"></label> <div class="col-md-10"> <input asp-for="Done" class="form-control" /> <span asp-validation-for="Done" class="text-danger"></span> </div> </div>Görünümleri/Todos/Index. cshtml dosyasını açın.
Boş
<th></th>öğesini arayın. Bu öğenin hemen üstüne aşağıdaki Razor kodunu ekleyin:<th> @Html.DisplayNameFor(model => model.Done) </th><td>etiket yardımcısını içerenasp-actionöğesini bulun. Bu öğenin hemen üstüne aşağıdaki Razor kodunu ekleyin:<td> @Html.DisplayFor(modelItem => item.Done) </td>
Index ve Create görünümlerindeki değişiklikleri görmek için yapmanız gerekenler bu kadardır.
Değişikliklerinizi yerel olarak test etme
Uygulamayı yerel olarak çalıştırın.
dotnet runNot
Yeni bir Terminal penceresi açarsanız, üretim veritabanına veritabanı geçişlerini Çalıştır' da yaptığınız gibi, bağlantı dizesini terminaldeki üretim veritabanına ayarlamanız gerekir.
Tarayıcınızda
http://localhost:5000/adresine gidin. Artık yapılacak bir öğe ekleyip öğeyi Bitti olarak işaretleyebilirsiniz. Daha sonra öğe, ana sayfanızda tamamlanmış bir öğe olarak görünmelidir.Editgörünümünü değiştirmediğinizden,EditgörünümününDonealanında görünmediğini göz önünde bulundurun.
Değişiklikleri Azure’da yayımlama
Değişikliklerinizi git 'e işleyin ve App Service uygulamanıza gönderin.
git add . git commit -m "added done field" git push azure mainTamamlandıktan sonra
git pushApp Service uygulamanıza gidin ve Yapılacaklar öğesi eklemeyi deneyin ve Tamam' ı işaretleyin.
Mevcut yapılacak öğeleriniz görüntülenmeye devam eder. ASP.NET Core uygulamanızı yeniden yayımladığınızda, SQL Veritabanı mevcut veriler kaybolmaz. Ayrıca, Entity Framework Code Migrations yalnızca veri şemasını değiştirir ve mevcut verilerinizde herhangi bir değişiklik yapmaz.
Tanılama günlüklerini akışla aktarma
ASP.NET Core uygulama Azure App Service çalışırken konsol günlüklerini Cloud Shell üzerinden alabilirsiniz. Böylece, uygulama hatalarını ayıklamanıza yardımcı olan tanılama iletilerinin aynısını alabilirsiniz.
Örnek proje, Azure App Service günlük sağlayıcısına yönelik kılavuzdan iki yapılandırma değişikliğine zaten uyar:
Microsoft.Extensions.Logging.AzureAppServicesDotnetcoressqldb. csproj içinde öğesine bir başvuru içerir.loggerFactory.AddAzureWebAppDiagnostics()Program. cs içindeki çağrılar.
App Service ASP.NET Core günlük düzeyini varsayılan düzeyden olarak ayarlamak için
InformationError,az webapp log configCloud Shell komutunu kullanın.az webapp log config --name <app-name> --resource-group myResourceGroup --application-logging filesystem --level informationNot
Projenin günlük düzeyi zaten
InformationappSettings. JSON içinde olarak ayarlanmıştır.Günlük akışını başlatmak için
az webapp log tailCloud Shell komutunu kullanın.az webapp log tail --name <app-name> --resource-group myResourceGroupGünlük akışı başladıktan sonra bazı web trafiği almak için tarayıcıda Azure uygulamasını yenileyin. Artık konsol günlüklerinin terminale yöneltildiğini görebilirsiniz. Konsol günlüklerini hemen görmüyorsanız, 30 saniye içinde yeniden kontrol edin.
Günlük akışını dilediğiniz zaman durdurmak için
Ctrl+Cyazın.
ASP.NET Core günlüklerini özelleştirme hakkında daha fazla bilgi için bkz. .net 'te günlüğe kaydetme.
Kaynakları temizleme
Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. Bu kaynakların gelecekte gerekli olacağını düşünmüyorsanız, Cloud Shell’de aşağıdaki komutu çalıştırarak kaynak grubunu silin:
az group delete --name myResourceGroup
Bu komutun çalıştırılması bir dakika sürebilir.
Sonraki adımlar
Öğrendikleriniz:
- Azure’da SQL Veritabanı oluşturma
- SQL Veritabanı için bir ASP.NET Core uygulaması Bağlan
- Uygulamayı Azure’da dağıtma
- Veri modelini güncelleştirme ve uygulamayı yeniden dağıtma
- Azure’daki günlüklerin terminalinize akışını sağlama
- Uygulamayı Azure portalında yönetme
Özel bir DNS adını uygulamanıza nasıl eşleyeceğinizi öğrenmek için bir sonraki öğreticiye ilerleyin.
Ya da diğer kaynaklara göz atın:
