Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure App Service menyediakan layanan hosting web yang sangat dapat diskalakan dan dapat melakukan patch sendiri. Tutorial ini menunjukkan cara menyebarkan aplikasi ASP.NET berbasis data di App Service dan menyambungkannya ke Azure SQL Database.
Setelah menyelesaikan tutorial, Anda memiliki aplikasi ASP.NET yang tersambung ke database Azure SQL yang berjalan di Azure. Contoh berikut menunjukkan antarmuka aplikasi.
Di tutorial ini, Anda akan:
- Menerbitkan aplikasi web berbasis data ke Azure.
- Buat database Azure SQL untuk menyimpan data aplikasi.
- Sambungkan aplikasi ASP.NET ke database Azure SQL.
- Konfigurasikan identitas terkelola dan autentikasi ID Microsoft Entra untuk koneksi database.
- Perbarui model data dan sebarkan ulang aplikasi.
- Streaming log aplikasi dari Azure ke Visual Studio.
Prasyarat
- Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.
- Instal Visual Studio 2022 dengan ASP.NET dan pengembangan web serta beban kerja pengembangan Azure.
- Anda dapat menambahkan beban kerja ke penginstalan Visual Studio yang sudah ada dengan memilih Dapatkan Alat dan Fitur di menu Alat Visual Studio.
- Pastikan Anda memiliki pembaruan terbaru untuk Visual Studio 2022 dengan memilih Bantuan>Periksa pembaruan dan instal versi terbaru jika perlu.
Membuat dan menjalankan aplikasi
Proyek sampel berisi aplikasi dasar ASP.NET MVC create-read-update-delete (CRUD) yang menggunakan Kode Kerangka Kerja Entitas Terlebih Dahulu.
Unduh proyek sampel dan ekstrak file dotnet-sqldb-tutorial-master.zip .
Buka file dotnet-sqldb-tutorial-master/DotNetAppSqlDb.sln yang diekstrak di Visual Studio.
Tekan F5 untuk menjalankan aplikasi dan membukanya di browser default Anda.
Catatan
Jika perlu, instal paket NuGet yang hilang.
Di aplikasi, pilih Buat Baru dan buat beberapa item to-do .
Uji tautan Edit, Detail, dan Hapus.
Menerbitkan aplikasi ke Azure
Untuk menerbitkan aplikasi ke Azure, Anda membuat dan mengonfigurasi profil Terbitkan yang memiliki Azure App Service dan Paket App Service untuk menghosting aplikasi. Anda kemudian membuat database Azure SQL Server dan Azure SQL untuk berisi data aplikasi, dan mengonfigurasi konteks database untuk menyambungkan aplikasi dengan database.
Di Visual Studio Solution Explorer, klik kanan proyek DotNetAppSqlDb dan pilih Terbitkan.
Pada layar Terbitkan , pilih Azure sebagai target Anda dan pilih Berikutnya.
Pada layar berikutnya, pastikan Bahwa Azure App Service (Windows) dipilih dan pilih Berikutnya.
Masuk dan menambahkan Azure App Service
Pada layar Terbitkan berikutnya, masuk ke akun Microsoft dan langganan yang ingin Anda gunakan.
Di samping App Service, pilih Buat baru.
Mengonfigurasi Azure App Service
Pada layar App Service (Windows), konfigurasikan Nama App Service, Grup sumber daya, dan Paket Hosting.
Di bawah Nama, Anda dapat menyimpan nama aplikasi web yang dihasilkan, atau mengubahnya menjadi nama lain dengan karakter
a-z
,0-9
, dan-
. Nama aplikasi web harus unik di semua aplikasi Azure.Di samping Grup sumber daya, pilih Baru, dan beri nama grup sumber daya myResourceGroup.
Grup sumber daya Azure adalah kontainer logis tempat sumber daya Azure seperti aplikasi web, database, dan akun penyimpanan disebarkan dan dikelola. Misalnya, Anda dapat memilih untuk menghapus seluruh grup sumber daya dalam satu langkah sederhana nanti.
Di samping Paket Hosting, pilih Baru.
Rencana App Service menentukan lokasi, ukuran, dan fitur farm server web yang menghosting aplikasi Anda. Anda dapat menghemat uang saat menghosting beberapa aplikasi dengan mengonfigurasi aplikasi web untuk berbagi satu paket Azure App Service.
Paket Azure App Service:
- Wilayah (misalnya: Eropa Utara, AS Timur, atau Asia Tenggara)
- Ukuran instans (kecil, sedang, atau besar)
- Jumlah skala (1 hingga 20 instans)
- SKU (Gratis, Bersama, Dasar, Standar, atau Premium)
Selesaikan layar Paket Hosting , lalu pilih OK.
Pengaturan Nilai yang disarankan Untuk informasi lebih lanjut Paket App Service myAppServicePlan Paket App Service Tempat US Timur Wilayah Azure Ukuran Gratis Tingkat harga Pada layar App Service (Windows), pilih Buat, dan tunggu hingga sumber daya Azure dibuat.
Layar Terbitkan memperlihatkan sumber daya yang Anda konfigurasi. Pilih Selesai, lalu pilih Tutup.
Buat server dan database
Sebelum Anda bisa membuat database, Anda memerlukan server SQL logis. Server SQL logis adalah konstruksi logis yang berisi sekelompok database yang dikelola sebagai grup.
Pada layar Terbitkan untuk aplikasi DotNetAppSqlDb , di bagian Dependensi Layanan , pilih elipsis ... di samping Database SQL Server, dan pilih Sambungkan.
Catatan
Pastikan untuk mengonfigurasi SQL Database dari tab Terbitkan , bukan tab Layanan Tersambung .
Pada layar Sambungkan ke dependensi , pilih Azure SQL Database lalu pilih Berikutnya.
Pada layar Konfigurasikan Azure SQL Database , pilih Buat baru.
Pada layar Azure SQL Database , di samping Server database, pilih Baru.
Ubah nama server menjadi nilai yang Anda inginkan. Nama server harus unik di semua server di Azure SQL.
Pilih OK.
Pada layar Azure SQL Database , pertahankan Nama Database yang dihasilkan secara default. Pilih Buat dan tunggu hingga sumber daya database dibuat.
Saat sumber daya database dibuat, pilih Berikutnya.
Pada layar Sambungkan ke Azure SQL Database , pilih Selesai.
Catatan
Jika Anda melihat File rahasia pengguna lokal sebagai gantinya, pastikan Anda menggunakan halaman Terbitkan , bukan halaman Connected Services , untuk mengonfigurasi SQL Database.
Koneksi Azure SQL Database Anda sekarang disiapkan untuk menggunakan Identitas Terkelola untuk layanan Azure, metode aman untuk menyambungkan aplikasi Anda ke sumber daya Azure Anda yang tidak menggunakan rahasia atau kata sandi. Anda sekarang perlu mengatur izin yang sesuai pada pengguna SQL yang sesuai dengan identitas terkelola ini agar koneksi berfungsi.
Mengonfigurasikan identitas terkelola
Saat wizard pembuatan Azure SQL Database menyiapkan server Azure SQL dengan identitas terkelola dan autentikasi Entra ID Default, ia menambahkan akun Entra ID Anda sebagai admin Azure SQL. Jika Anda masuk ke akun yang sama di Visual Studio, Anda dapat menggunakan string koneksi yang sama untuk menyambungkan ke database di Visual Studio dan Azure.
Dari menu Alat, pilih Pengelola Paket NuGet>Konsol Pengelola Paket.
Di Konsol Manajer Paket, instal paket berikut:
Install-Package Microsoft.Data.SqlClient Install-Package Microsoft.EntityFramework.SqlServer
Di baris perintah PowerShell, jalankan perintah berikut untuk masuk ke SQL Database, mengganti
<server-name>
dengan nama server Anda dan<entra-id-user>
dengan nama pengguna Microsoft Entra yang Anda gunakan untuk menyiapkan database di Visual Studio. Pengguna Entra tersebut memiliki akses admin ke server database secara default.sqlcmd -S <servername>.database.windows.net -d DotNetAppSqlDb_db -U <entra-id-user> -G -l 30
Ikuti permintaan untuk masuk.
Pada perintah SQL, jalankan perintah berikut untuk memberikan izin minimum yang dibutuhkan aplikasi Anda, mengganti
<app-name>
dengan nama aplikasi Anda.CREATE USER [<app-name>] FROM EXTERNAL PROVIDER; ALTER ROLE db_datareader ADD MEMBER [<app-name>]; ALTER ROLE db_datawriter ADD MEMBER [<app-name>]; ALTER ROLE db_ddladmin ADD MEMBER [<app-name>]; GO
Memperbarui konteks database
Aplikasi ini menggunakan konteks database untuk terhubung dengan database, yang dirujuk dalam file Model/MyDatabaseContext.cs . Di bagian ini, Anda memperbarui kode untuk merujuk ke penyedia Entity Framework 6 SQL Server, yang bergantung pada penyedia ADO.NET Microsoft.Data.SqlClient modern.
Penyedia Entity Framework 6 menggantikan penyedia SQL Server bawaan System.Data.SqlClient
, dan menyertakan dukungan untuk metode autentikasi ID Microsoft Entra. Untuk informasi selengkapnya, lihat Microsoft.EntityFramework.SqlServer}.
[DbConfigurationType(typeof(MicrosoftSqlDbConfiguration))]
bekerja secara lokal untuk digunakan Microsoft.Data.SqlClient
untuk konteks database, tetapi karena System.Data.SqlClient
dikodekan secara permanen sebagai penyedia di Azure App Service, Anda perlu memperluas MicrosoftSqlDbConfiguration
untuk mengalihkan referensi ke System.Data.SqlClient
Microsoft.Data.SqlClient
sebagai gantinya.
Di web.config, hapus bagian
entityFramework/providers/provider
dan baris:<provider invariantName="System.Data.SqlClient" .../>
.Di Model/MyDatabaseContext.cs, tambahkan kelas berikut:
public class AppServiceConfiguration : MicrosoftSqlDbConfiguration { public AppServiceConfiguration() { SetProviderFactory("System.Data.SqlClient", Microsoft.Data.SqlClient.SqlClientFactory.Instance); SetProviderServices("System.Data.SqlClient", MicrosoftSqlProviderServices.Instance); SetExecutionStrategy("System.Data.SqlClient", () => new MicrosoftSqlAzureExecutionStrategy()); } }
Tambahkan atribut berikut ke
MyDatabaseContext
deklarasi kelas:[DbConfigurationType(typeof(AppServiceConfiguration))]
Menyebarkan aplikasi ASP.NET
Di bagian atas tab Terbitkan , pilih Terbitkan. Aplikasi ASP.NET Anda disebarkan ke Azure, dan browser default Anda diluncurkan ke URL aplikasi yang disebarkan.
Untuk menguji aplikasi, tambahkan beberapa item to-do.
Selamat! Aplikasi berbasis data ASP.NET Anda dijalankan langsung di Azure App Service.
Menggunakan SQL Server Object Explorer
Anda dapat menggunakan Visual Studio SQL Server Object Explorer untuk menjelajahi dan mengelola database Azure SQL Anda dengan mudah. Di SQL Server Object Explorer, Anda dapat melakukan operasi database yang paling umum, seperti menjalankan kueri atau membuat tabel, tampilan, dan prosedur tersimpan.
Izinkan sambungan klien dari komputer Anda
Secara default, server Azure memungkinkan koneksi ke databasenya hanya dari layanan Azure, seperti aplikasi Azure Anda. Database baru membuka firewall-nya ke aplikasi App Service yang Anda buat.
Untuk mengakses database dari komputer lokal Anda, seperti dari Visual Studio, server Azure harus membuka firewall untuk mengizinkan akses untuk alamat IP publik komputer.
Jika diminta untuk menambahkan akses untuk klien lokal Anda, pastikan untuk memilih opsi untuk Mengizinkan alamat IP publik komputer Anda. Opsi ini membuat aturan firewall untuk mengizinkan alamat IP publik komputer lokal Anda. Kotak dialog sudah diisi dengan alamat IP komputer Anda saat ini.
Jika Anda tidak mendapatkan perintah untuk menambahkan akses untuk komputer lokal, Anda bisa masuk ke database Azure SQL Anda di portal Microsoft Azure dan pilih Atur firewall server di bilah menu atas. Pada halaman Jaringan di bawah Aturan firewall, pilih opsi untuk Menambahkan alamat IPv4 klien Anda.
Catatan
Jika penyedia layanan internet Anda mengubah alamat IP publik, Anda perlu mengonfigurasi ulang firewall untuk mengakses database Azure lagi.
Menyambungkan ke database Azure SQL secara lokal
Dari menu Tampilan, pilih SQL Server Object Explorer.
Di bagian atas jendela SQL Server Object Explorer , pilih ikon untuk Menambahkan SQL Server.
Pada layar Sambungkan , koneksi Anda muncul di bawah simpul Azure . Lengkapi informasi untuk Nama Server, Nama Pengguna, Kata Sandi, dan Nama Database Anda, dan pilih Sambungkan.
Setelah Visual Studio selesai mengonfigurasi koneksi untuk instans SQL Database Anda, database Anda muncul di SQL Server Object Explorer. Perluas <nama koneksi Anda>>Database><nama database Anda>> untuk melihat data.
Perluas Tabel, klik
ToDoes
kanan tabel, dan pilih Tampilkan Data untuk berinteraksi dengan data database.
Memperbarui aplikasi dengan Migrasi Code First
Anda dapat menggunakan alat yang sudah dikenal di Visual Studio untuk memperbarui database dan aplikasi Anda di Azure. Dalam langkah ini, Anda menggunakan Migrasi Pertama Kode dalam Kerangka Kerja Entitas untuk mengubah skema database Anda dan menerbitkan perubahan ke Azure.
Untuk informasi selengkapnya tentang menggunakan Migrasi Pertama Kode Kerangka Kerja Entitas, lihat Memulai Dengan Kode Pertama Kerangka Kerja Entitas 6 menggunakan MVC 5.
Memperbarui model data Anda
Buka Model\Todo.cs di editor kode. Tambahkan properti berikut ke kelas ToDo
:
public bool Done { get; set; }
Jalankan Migrasi Pertama Kode secara lokal
Jalankan beberapa perintah untuk membuat pembaruan pada database lokal Anda.
Dari menu Alat, pilih Pengelola Paket NuGet>Konsol Pengelola Paket.
Di jendela Konsol Manajer Paket, aktifkan Migrasi Pertama Kode:
Enable-Migrations
Tambahkan migrasi:
Add-Migration AddProperty
Perbarui database lokal:
Update-Database
Tekan Ctrl+F5 untuk menjalankan aplikasi. Uji tautan Edit, Detail, dan Buat Baru .
Jika aplikasi dimuat tanpa kesalahan, Migrasi Pertama Kode berhasil. Namun, halaman Anda masih terlihat sama karena logika aplikasi Anda belum menggunakan properti baru ini.
Menggunakan properti baru
Lakukan beberapa perubahan dalam kode Anda untuk melihat properti Done
beraksi. Untuk tutorial ini, Anda mengubah Index
dan tampilan Create
untuk menggunakan properti baru.
Buka Controllers\TodosController.cs, dan dalam
Create()
metode pada baris 52, tambahkanDone
ke daftar properti dalamBind
atribut . Tanda tangan metode AndaCreate()
akan terlihat seperti kode berikut:public ActionResult Create([Bind(Include = "Description,CreatedDate,Done")] Todo todo)
Buka Views\Todos\Create.cshtml, dan dalam kode Razor, perhatikan
<div class="form-group">
elemen yang menggunakanmodel.Description
dan<div class="form-group">
elemen yang menggunakanmodel.CreatedDate
.Setelah kedua elemen ini, tambahkan elemen berikut
<div class="form-group">
yang menggunakanmodel.Done
:<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>
Buka Views\Todos\Index.cshtml, dan tepat di atas elemen kosong
<th></th>
, tambahkan kode Razor berikut:<th> @Html.DisplayNameFor(model => model.Done) </th>
<td>
Di atas elemen yang berisi metode pembantuHtml.ActionLink()
, tambahkan elemen lain<td>
dengan kode Razor berikut:<td> @Html.DisplayFor(modelItem => item.Done) </td>
Simpan semua file, dan tekan Ctrl+F5 untuk menjalankan aplikasi.
Di aplikasi, tambahkan item to-do dan pilih Selesai. Item akan muncul di halaman beranda Anda sebagai item yang telah selesai. Tampilan Edit tidak memperlihatkan bidang Selesai , karena Anda tidak mengubah tampilan Edit .
Aktifkan Migrasi Pertama Kode di Azure
Setelah perubahan kode berfungsi, termasuk migrasi database, Anda dapat menerbitkannya ke aplikasi Azure dan memperbarui database Azure SQL Anda dengan Migrasi Pertama Kode juga.
Di Penjelajah Solusi Visual Studio, klik kanan proyek Anda dan pilih Terbitkan.
Pilih Tindakan> lainnyaEdit untuk membuka pengaturan penerbitan.
Di menu dropdown MyDatabaseContext , pilih koneksi database untuk database Azure SQL Anda.
Pilih Jalankan Migrasi Pertama Kode (berjalan pada awal aplikasi), lalu pilih Simpan.
Publikasikan perubahan Anda
Sekarang setelah Anda mengaktifkan Migrasi Pertama Kode di aplikasi Azure Anda, publikasikan perubahan kode Anda.
Pada halaman Terbitkan, pilih Terbitkan.
Di aplikasi web yang diterbitkan, coba tambahkan lebih banyak item to-do lagi dan pilih Selesai, dan item tersebut akan muncul di halaman beranda Anda sebagai item yang telah selesai.
Semua item yang harus dilakukan yang ada masih ditampilkan. Saat Anda menerbitkan ulang aplikasi ASP.NET, data yang ada di database Azure SQL Anda tidak hilang. Selain itu, Migrasi Pertama Kode hanya mengubah skema data dan membiarkan data Anda tetap utuh.
Streaming log aplikasi
Anda dapat melakukan streaming pesan pelacakan langsung dari aplikasi Azure ke Visual Studio.
Buka Controllers\TodosController.cs, dan perhatikan bahwa setiap tindakan dimulai dengan Trace.WriteLine()
metode . Kode ini menunjukkan kepada Anda cara menambahkan pesan pelacakan ke aplikasi Azure Anda.
Aktifkan streaming log
Pada halaman Visual Studio Publish , gulir ke bawah ke bagian Hosting .
Pilih elipsis ... di kanan atas dan pilih Tampilkan log streaming.
Log sekarang di-streaming ke jendela Output.
Anda belum melihat pesan pelacakan apa pun, karena saat pertama kali memilih Tampilkan log streaming, aplikasi Azure Anda mengatur tingkat pelacakan ke
Error
, yang hanya mencatat peristiwa kesalahan menggunakan metode .Trace.TraceError()
Ubah tingkat pelacakan
Untuk mengubah tingkat pelacakan untuk menghasilkan pesan pelacakan lain, di bagian Hosting halaman Terbitkan , pilih ... di kanan atas lalu pilih Buka di portal Microsoft Azure.
Pada halaman portal Microsoft Azure untuk aplikasi Anda, pilih Log App Service di bawah Pemantauan di menu sebelah kiri.
Di bawah Pengelogan aplikasi (Sistem file), pilih Verbose di bawah Tingkat, lalu pilih Simpan.
Petunjuk / Saran
Anda dapat bereksperimen dengan tingkat pelacakan yang berbeda untuk melihat jenis pesan apa yang ditampilkan untuk setiap tingkat. Misalnya, tingkat Informasi mencakup semua log yang dibuat oleh
Trace.TraceInformation()
,Trace.TraceWarning()
, danTrace.TraceError()
, tetapi tidak mencakup log yang dibuat olehTrace.WriteLine()
.Di browser Anda, buka aplikasi daftar Azure to-do Anda lagi dan navigasikan di sekitar aplikasi. Pesan jejak seperti contoh berikut sekarang mengalir ke jendela Output di Visual Studio.
Application:2025-05-12T23:41:11 PID[17108] Verbose GET /Todos/Index Application:2025-05-12T23:42:04 PID[17108] Verbose GET /Todos/Index Application:2025-05-12T23:42:06 PID[17108] Verbose POST /Todos/Create Application:2025-05-12T23:42:07 PID[17108] Verbose GET /Todos/Index
Hentikan streaming log
Untuk menghentikan layanan streaming log, pilih ikon Hentikan pemantauan di jendela Output .
Membersihkan sumber daya
Di langkah-langkah sebelumnya, Anda membuat sumber daya Azure dalam grup sumber daya. Jika Anda tidak berharap membutuhkan sumber daya ini di masa mendatang, Anda dapat menghapusnya dengan menghapus grup sumber daya.
- Dari halaman Gambaran umum aplikasi web di portal Microsoft Azure, pilih tautan myResourceGroup di bawah Grup sumber daya.
- Di halaman grup sumber daya, pastikan sumber daya yang tercantum adalah sumber daya yang ingin Anda hapus.
- Pilih Hapus grup sumber daya, ketik myResourceGroup di kotak teks, lalu pilih Hapus.
- Konfirmasi lagi dengan memilih Hapus.
Konten terkait
- Mengonfigurasi aplikasi ASP.NET untuk Azure App Service
- Panduan Cepat : Mulai menggunakan analisis biaya
Buka tutorial berikutnya untuk mempelajari cara menggunakan identitas terkelola untuk meningkatkan keamanan koneksi Azure SQL Database.