Bagikan melalui


ASP.NET Penyebaran Web menggunakan Visual Studio: Menyebarkan untuk Menguji

oleh Tom Dykstra

Seri tutorial ini menunjukkan cara menyebarkan (menerbitkan) aplikasi web ASP.NET ke Azure App Service Web Apps atau ke penyedia hosting pihak ketiga menggunakan Visual Studio 2017. Untuk informasi tentang seri ini, lihat tutorial pertama dalam seri ini.

Untuk versi penyebaran saat ini ke Azure, lihat Membuat aplikasi web ASP.NET Core di Azure.

Gambaran Umum

Dalam tutorial ini, Anda akan menyebarkan aplikasi web ASP.NET ke Internet Information Server (IIS) di komputer lokal Anda.

Umumnya saat Anda mengembangkan aplikasi, Anda menjalankannya dan mengujinya di Visual Studio. Secara default, proyek aplikasi web di Visual Studio 2017 menggunakan IIS Express sebagai server web pengembangan. IIS Express bereaksi lebih seperti IIS penuh daripada Visual Studio Development Server (juga dikenal sebagai Cassini), yang digunakan Visual Studio 2017 secara default. Tetapi tidak ada server web pengembangan yang berfungsi persis seperti IIS. Akibatnya, aplikasi dapat berjalan dan menguji dengan benar di Visual Studio tetapi gagal saat disebarkan ke IIS.

Anda dapat menguji aplikasi dengan andal dengan dua cara:

  1. Sebarkan aplikasi Anda ke IIS di komputer pengembangan Anda menggunakan proses yang sama dengan yang akan Anda gunakan nanti untuk menyebarkannya ke lingkungan produksi Anda.

    Anda dapat mengonfigurasi Visual Studio untuk menggunakan IIS saat menjalankan proyek web, tetapi itu tidak akan menguji proses penyebaran Anda. Metode ini memvalidasi proses penyebaran Anda dan aplikasi Anda berjalan dengan benar di bawah IIS.

  2. Sebarkan aplikasi Anda ke lingkungan pengujian yang mirip dengan lingkungan produksi Anda.

    Lingkungan produksi untuk tutorial ini adalah Web Apps di Azure App Service. Lingkungan pengujian yang ideal adalah aplikasi web tambahan yang dibuat di Azure Service. Meskipun akan disiapkan dengan cara yang sama seperti aplikasi web produksi, Anda hanya akan menggunakannya untuk pengujian.

Opsi 2 adalah cara yang paling dapat diandalkan untuk menguji. Jika Anda menggunakan opsi 2, Anda tidak perlu menggunakan opsi 1. Namun jika Anda menyebarkan ke penyedia hosting pihak ketiga, opsi 2 mungkin tidak layak atau mungkin mahal, sehingga seri tutorial ini menunjukkan kedua metode. Panduan untuk opsi 2 disediakan dalam tutorial Menyebarkan ke Lingkungan Produksi.

Untuk informasi selengkapnya tentang menggunakan server web di Visual Studio, lihat Server Web di Visual Studio untuk ASP.NET Proyek Web.

Pengingat: Jika Anda menerima pesan kesalahan atau sesuatu tidak berfungsi saat Anda melalui tutorial, pastikan untuk memeriksa halaman pemecahan masalah.

Unduh proyek pemula Contoso University

Unduh dan instal solusi dan proyek pemula Contoso University Visual Studio. Solusi ini berisi tutorial yang telah selesai.

Unduh Proyek Pemula

Instal IIS

Untuk menyebarkan ke IIS di komputer pengembangan Anda, konfirmasikan bahwa IIS dan Penyebaran Web diinstal. Secara default, Visual Studio menginstal Web Deploy, tetapi IIS tidak disertakan dalam konfigurasi Windows 10, Windows 8, atau Windows 7 default. Jika Anda telah menginstal IIS dan kumpulan aplikasi default sudah diatur ke .NET 4, lewati ke bagian berikutnya.

  1. Disarankan agar Anda menggunakan Penginstal Platform Web (WPI) untuk menginstal IIS dan Web Deploy. WPI menginstal konfigurasi IIS yang direkomendasikan yang menyertakan prasyarat IIS dan Web Deploy jika perlu.

    Jika Anda telah menginstal IIS, Web Deploy, atau salah satu komponen yang diperlukan, WPI hanya menginstal apa yang hilang.

    • Gunakan Penginstal Platform Web untuk menginstal IIS dan Web Deploy:

      Menginstal IIS menggunakan WPI

      Menginstal Web Deploy menggunakan WPI

      Anda akan melihat pesan yang menunjukkan bahwa IIS 7 akan diinstal. Tautan ini berfungsi untuk IIS 8 di Windows 8; tetapi untuk Windows 8 dan yang lebih baru, lakukan langkah-langkah berikut untuk memastikan bahwa ASP.NET 4.7 diinstal:

    • Buka Panel Kontrol> Program>Program dan Fitur>Aktifkan atau nonaktifkan fitur Windows.

    • Perluas fitur Layanan Informasi Internet, World Wide Web Services, dan Pengembangan Aplikasi.

    • Konfirmasikan bahwa ASP.NET 4.7 dipilih.

      Pilih ASP.NET 4.7

    • Konfirmasikan bahwa World Wide Web Services dan IIS Management Console dipilih. Ini menginstal IIS dan IIS Manager.

      Pilih World Wide Web Services

    • Pilih OK. Pesan kotak dialog yang menunjukkan penginstalan sedang berlangsung muncul.

Setelah menginstal IIS, jalankan IIS Manager untuk memastikan bahwa .NET Framework versi 4 ditetapkan ke kumpulan aplikasi default.

  1. Tekan WINDOWS+R untuk membuka kotak dialog Jalankan .

    (Pada Windows 8 atau yang lebih baru, masukkan "jalankan " padaHalaman mulai . Di Windows 7, pilih Jalankan dari menu Mulai . Jika Jalankan tidak ada di menu Mulai , klik kanan bilah tugas, pilih Properti, pilih tab Menu Mulai, pilih Kustomisasi, dan pilih perintah Jalankan.)

  2. Masukkan "inetmgr" dan pilih OK.

  3. Di panel Koneksi , perluas simpul server dan pilih Kumpulan Aplikasi. Di panel Kumpulan Aplikasi jika DefaultAppPool ditetapkan ke .NET framework versi 4 seperti dalam ilustrasi berikut, lewati ke bagian berikutnya.

    Inetmgr_showing_4.0_app_pools

  4. Jika Anda hanya melihat dua kumpulan aplikasi dan keduanya diatur ke .NET Framework 2.0, instal ASP.NET 4 di IIS.

    Untuk Windows 8 atau yang lebih baru, lihat instruksi bagian sebelumnya untuk memastikan bahwa ASP.NET 4.7 diinstal atau lihat Cara menginstal ASP.NET 4.5 di Windows 8 dan Windows Server 2012. Untuk Windows 7, buka jendela prompt perintah dengan mengklik kanan Prompt Perintah di menu Mulai Windows dan pilih Jalankan sebagai Administrator. Jalankan aspnet_regiis.exe untuk menginstal ASP.NET 4 di IIS menggunakan perintah berikut. (Dalam sistem 32-bit, ganti "Framework64" dengan "Framework".)

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

    Perintah ini membuat kumpulan aplikasi baru untuk .NET Framework 4, tetapi kumpulan aplikasi default akan tetap diatur ke 2.0. Anda menyebarkan aplikasi yang menargetkan .NET 4 ke kumpulan aplikasi tersebut, jadi ubah kumpulan aplikasi menjadi .NET 4.

  5. Jika Anda menutup Manajer IIS, jalankan lagi, perluas simpul server, dan pilih Kumpulan Aplikasi.

  6. Di panel Kumpulan Aplikasi, pilih DefaultAppPool. Di panel Tindakan , pilih Pengaturan Dasar.

    Inetmgr_selecting_Basic_Settings_for_app_pool

  7. Dalam kotak dialog Edit Kumpulan Aplikasi, ubah versi .NET CLR menjadi .NET CLR v4.0.30319. Pilih OK.

    Selecting_.NET_4_for_DefaultAppPool

Anda sekarang siap untuk menerbitkan aplikasi web ke IIS. Namun, pertama- tama, buat database untuk pengujian.

Menginstal SQL Server Express

LocalDB tidak dirancang untuk bekerja di IIS, sehingga lingkungan pengujian Anda harus menginstal SQL Server Express. Jika Anda menggunakan Visual Studio 2010 SQL Server Express, itu sudah diinstal secara default. Jika Anda menggunakan Visual Studio 2012 atau yang lebih baru, instal SQL Server Express.

Untuk menginstal SQL Server Express, unduh dan instal dari Pusat Unduhan: Microsoft SQL Server 2017 edisi Ekspres.

Pada halaman pertama Pusat Penginstalan SQL Server, pilih Penginstalan mandiri SQL Server baru atau tambahkan fitur ke penginstalan yang ada dan ikuti instruksi yang menerima pilihan default. Di wizard penginstalan, terima pengaturan default. Untuk informasi selengkapnya tentang opsi penginstalan, lihat Menginstal SQL Server dari Wizard Penginstalan (Penyetelan).

Membuat database SQL Server Express untuk lingkungan pengujian

Aplikasi Contoso University memiliki dua database:

  1. Database keanggotaan
  2. Database aplikasi

Anda dapat menyebarkan database ini ke dua database terpisah atau ke database tunggal. Menggabungkannya membuat gabungan database di antara mereka lebih mudah.

Jika Anda menyebarkan ke penyedia hosting pihak ketiga, paket hosting Anda mungkin juga memberi Anda alasan untuk menggabungkannya. Misalnya, penyedia mungkin mengenakan biaya lebih untuk beberapa database atau bahkan mungkin tidak mengizinkan lebih dari satu database.

Dalam tutorial ini, Anda akan menyebarkan ke dua database di lingkungan pengujian dan ke satu database di lingkungan penahapan dan produksi.

Dari menu Tampilan di Visual Studio, pilih Server Explorer (Database Explorer di Visual Web Developer). Klik kanan Koneksi Data dan pilih Buat Database SQL Server Baru.

Selecting_Create_New_SQL_Server_Database

Dalam kotak dialog Buat Database SQL Server Baru, masukkan ".\SQLExpress" di kotak Nama server dan "aspnet-ContosoUniversity" dalam kotak Nama database baru. Pilih OK.

Membuat aspnet-ContosoUniversity

Ikuti prosedur yang sama untuk membuat database SQL Server Express School baru bernama ContosoUniversity.

Server Explorer memperlihatkan dua database baru.

Database baru di Server Explorer

Membuat skrip hibah untuk database baru

Saat aplikasi berjalan di IIS di komputer pengembangan Anda, aplikasi menggunakan kredensial kumpulan aplikasi default untuk mengakses database. Namun, secara default, kumpulan aplikasi tidak memiliki izin untuk membuka database. Ini berarti Anda perlu menjalankan skrip untuk memberikan izin tersebut. Di bagian ini, Anda akan membuat skrip tersebut dan menjalankannya nanti untuk memastikan bahwa aplikasi dapat membuka database saat berjalan di IIS.

Di editor teks, salin perintah SQL berikut ke dalam file baru dan simpan sebagai 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

Di Visual Studio, buka solusi Contoso University. Klik kanan solusi (bukan salah satu proyek), dan pilih Tambahkan. Pilih Item yang Sudah Ada, telusuri ke Grant.sql, dan buka.

Catatan

Skrip ini dirancang untuk bekerja dengan SQL Server Express 2012 atau yang lebih baru dan dengan pengaturan IIS di Windows 10, Windows 8, atau Windows 7 seperti yang ditentukan dalam tutorial ini. Jika Anda menggunakan versi SQL Server atau Windows yang berbeda, atau jika Anda menyiapkan IIS di komputer Anda secara berbeda, perubahan pada skrip ini mungkin diperlukan. Untuk informasi selengkapnya tentang skrip SQL Server, lihat SQL Server Books Online.

Catatan

Catatan Keamanan Skrip ini memberikan db_owner izin kepada pengguna yang mengakses database pada waktu proses, yang akan Anda miliki di lingkungan produksi. Dalam beberapa skenario, Anda mungkin ingin menentukan pengguna yang memiliki izin pembaruan skema database penuh hanya untuk penyebaran dan menentukan untuk run time pengguna lain yang memiliki izin hanya untuk membaca dan menulis data. Untuk informasi selengkapnya, lihat Meninjau Perubahan Web.config Otomatis untuk Migrasi Pertama Kode nanti dalam tutorial ini.

Menjalankan skrip hibah dalam database aplikasi

Anda dapat mengonfigurasi profil penerbitan untuk menjalankan skrip pemberian dalam database keanggotaan selama penyebaran karena penyebaran database tersebut menggunakan penyedia dbDacFx. Anda tidak dapat menjalankan skrip selama penyebaran Migrasi Pertama Kode, yaitu cara Anda menyebarkan database aplikasi. Ini berarti Anda harus menjalankan skrip secara manual sebelum penyebaran dalam database aplikasi.

  1. Di Visual Studio, buka file Grant.sql yang Anda buat sebelumnya.

  2. Pilih Sambungkan.

    Tombol Sambungkan

  3. Dalam kotak dialog Sambungkan ke Server , masukkan .\SQLExpress sebagai Nama Server. Pilih Sambungkan.

  4. Di daftar drop-down database pilih ContosoUniversity. Pilih Jalankan.

    Di daftar drop-down database pilih ContosoUniversity. Pilih Jalankan.

Identitas kumpulan aplikasi default sekarang memiliki izin yang memadai dalam database aplikasi untuk Migrasi Pertama Kode untuk membuat tabel database saat aplikasi berjalan.

Terbitkan ke IIS

Ada beberapa cara untuk menyebarkan ke IIS menggunakan Visual Studio dan Web Deploy:

  • Gunakan penerbitan satu klik Visual Studio.
  • Terbitkan dari baris perintah.
  • Buat paket penyebaran dan instal menggunakan IIS Manager. Paket memiliki file .zip dengan semua file dan metadata yang diperlukan untuk menginstal situs di IIS.
  • Buat paket penyebaran dan instal menggunakan baris perintah.

Proses yang Anda lalui dalam tutorial sebelumnya untuk menyiapkan Visual Studio untuk mengotomatiskan tugas penyebaran berlaku untuk semua metode ini. Dalam tutorial ini, Anda akan menggunakan dua metode pertama. Untuk informasi tentang menggunakan paket penyebaran, lihat Menyebarkan aplikasi web dengan membuat dan menginstal paket penyebaran web di Peta Konten Penyebaran Web untuk Visual Studio dan ASP.NET.

Sebelum menerbitkan, pastikan Anda menjalankan Visual Studio dalam mode administrator. Jika Anda tidak melihat (Administrator) di bilah judul, tutup Visual Studio. Di halaman Mulai Windows 8 (atau yang lebih baru) atau menu Mulai Windows 7, klik kanan ikon Visual Studio dan pilih Jalankan sebagai Administrator. Mode administrator hanya diperlukan untuk menerbitkan saat Anda menerbitkan ke IIS di komputer lokal.

Membuat profil penerbitan

  1. Di Penjelajah Solusi, klik kanan proyek ContosoUniversity (bukan proyek ContosoUniversity.DAL). Pilih Terbitkan. Halaman Terbitkan muncul.

  2. Pilih Profil Baru. Kotak dialog Pilih target penerbitan muncul.

  3. Pilih IIS, FTP, dll. Pilih Buat Profil. Wizard Terbitkan muncul.

    Tab Terbitkan Profil wizard Web

  4. Dari menu drop-down Terbitkan metode, pilih Web Deploy.

  5. Untuk Server, masukkan localhost.

  6. Untuk Nama situs, masukkan Situs Web Default/ContosoUniversity.

  7. Untuk URL Tujuan, masukkan http://localhost/ContosoUniversity.

    Pengaturan URL Tujuan tidak diperlukan. Ketika Visual Studio selesai menyebarkan aplikasi, visual Studio secara otomatis membuka browser default Anda ke URL ini. Jika Anda tidak ingin browser terbuka secara otomatis setelah penyebaran, biarkan kotak ini kosong.

  8. Pilih Validasi Koneksi untuk memverifikasi bahwa pengaturan sudah benar dan Anda bisa tersambung ke IIS di komputer lokal.

    Tanda centang hijau memverifikasi bahwa koneksi berhasil.

    Tab Terbitkan Koneksi panduan Web

  9. Pilih Berikutnya untuk melanjutkan ke tab Pengaturan .

  10. Kotak drop-down Konfigurasi menentukan konfigurasi build yang akan disebarkan. Biarkan diatur ke nilai default Rilis. Anda tidak akan menyebarkan build Debug dalam tutorial ini.

  11. Perluas Opsi Penerbitan File. Pilih Kecualikan file dari folder App_Data.

    Di lingkungan pengujian, aplikasi mengakses database yang Anda buat di instans SQL Server Express lokal, bukan file .mdf di folder App_Data .

  12. Biarkan Kotak centang Prakombinasikan selama penerbitan dan Hapus file tambahan di tujuan dikosongkan.

    Opsi Penerbitan File di tab Pengaturan

    Precompiling adalah opsi yang berguna terutama untuk situs besar. Ini dapat mengurangi waktu mulai saat pertama kali halaman diminta setelah situs diterbitkan.

    Anda tidak perlu menghapus file tambahan karena ini adalah penyebaran pertama Anda dan belum ada file apa pun di folder tujuan.

    Catatan

    Jika Anda memilih Hapus file tambahan di tujuan untuk penyebaran berikutnya ke situs yang sama, pastikan Anda menggunakan fitur pratinjau sehingga Anda melihat terlebih dahulu file mana yang akan dihapus sebelum Anda menyebarkan. Perilaku yang diharapkan adalah bahwa Web Deploy akan menghapus file di server tujuan yang telah Anda hapus di proyek Anda. Namun, seluruh struktur folder di bawah folder sumber dan tujuan dibandingkan; dan dalam beberapa skenario, Web Deploy mungkin menghapus file yang tidak ingin Anda hapus.

    Misalnya jika Anda memiliki aplikasi web di subfolder di server saat Anda menyebarkan proyek ke folder akar, subfolder akan dihapus. Anda mungkin memiliki satu proyek untuk situs utama di contoso.com dan proyek lain untuk blog di contoso.com/blog. Aplikasi blog berada dalam subfolder. Jika Anda memilih Hapus file tambahan di tujuan saat Anda menyebarkan situs utama, aplikasi blog akan dihapus.

    Misalnya, folder App_Data Anda mungkin dihapus secara tak terduga. Database tertentu seperti SQL Server Compact menyimpan file database di folder App_Data. Setelah penyebaran awal, Anda tidak ingin terus menyalin file database dalam penyebaran berikutnya, sehingga Anda memilih Kecualikan App_Data pada tab Paket/Terbitkan Web. Setelah Anda melakukannya jika Anda telah Menghapus file tambahan di tujuan dipilih, file database Anda dan folder App_Data itu sendiri akan dihapus saat berikutnya Anda menerbitkan.

Mengonfigurasi penyebaran untuk database keanggotaan

Langkah-langkah berikut ini berlaku untuk database DefaultConnection di bagian Database kotak dialog.

  1. Dalam kotak String koneksi jarak jauh, masukkan string koneksi berikut yang menunjuk ke database keanggotaan SQL Server Express baru.

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

    Proses penyebaran menempatkan string koneksi ini dalam file Web.config yang disebarkan karena Gunakan string koneksi ini saat runtime dipilih.

    Anda juga bisa mendapatkan string koneksi dari Server Explorer. Di Server Explorer, perluas Koneksi Data dan pilih< database machinename>\sqlexpress.aspnet-ContosoUniversity, lalu dari jendela Properti salin nilai String Koneksi. Itu string koneksi akan memiliki satu pengaturan tambahan yang dapat Anda hapus: Pooling=False.

  2. Pilih Perbarui database.

    Ini menyebabkan skema database dibuat di database tujuan selama penyebaran. Pada langkah berikutnya, Anda menentukan skrip tambahan yang perlu Anda jalankan: satu untuk memberikan akses database ke kumpulan aplikasi default dan satu untuk menyebarkan data.

  3. Pilih Konfigurasikan pembaruan database.

  4. Dalam kotak dialog Konfigurasi Pembaruan Database, pilih Tambahkan Skrip SQL. Navigasi ke skrip Grant.sql yang Anda simpan sebelumnya di folder solusi.

  5. Ulangi proses untuk menambahkan skrip aspnet-data-dev.sql .

    Mengonfigurasi Pembaruan Database untuk database keanggotaan

  6. Pilih Tutup.

Mengonfigurasi penyebaran untuk database aplikasi

Saat Visual Studio mendeteksi kelas Kerangka Kerja DbContext Entitas, visual Studio membuat entri di bagian Database yang memiliki kotak centang Jalankan Migrasi Pertama Kode alih-alih kotak centang Perbarui Database . Untuk tutorial ini, Anda akan menggunakan kotak centang tersebut untuk menentukan penyebaran Migrasi Pertama Kode.

Dalam beberapa skenario, Anda mungkin menggunakan DbContext database tetapi Anda ingin menggunakan penyedia dbDacFx alih-alih Migrasi untuk menyebarkan database. Dalam hal ini, lihat Bagaimana cara menyebarkan database Code First tanpa Migrasi? di FAQ Penyebaran Web ASP.NET di MSDN.

Langkah-langkah berikut ini berlaku untuk database SchoolContext di bagian Database kotak dialog.

  1. Dalam kotak String koneksi jarak jauh, masukkan string koneksi berikut yang menunjuk ke database aplikasi SQL Server Express baru.

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

    Proses penyebaran menempatkan string koneksi ini dalam file Web.config yang disebarkan karena Gunakan string koneksi ini saat runtime dipilih.

    Anda juga bisa mendapatkan string koneksi database aplikasi dari Server Explorer dengan cara yang sama seperti Anda mendapatkan database keanggotaan string koneksi.

  2. Pilih Jalankan Migrasi Pertama Kode (berjalan pada awal aplikasi).

    Opsi ini menyebabkan proses penyebaran mengonfigurasi file Web.config yang disebarkan untuk menentukan penginisialisasi MigrateDatabaseToLatestVersion . Penginisialisasi ini secara otomatis memperbarui database ke versi terbaru saat aplikasi mengakses database untuk pertama kalinya setelah penyebaran.

Mengonfigurasi transformasi profil penerbitan

  1. Pilih Tutup. Pilih Ya saat Anda ditanya apakah Anda ingin menyimpan perubahan.

  2. Di Penjelajah Solusi, perluas Properti, perluas PublishProfiles.

  3. Klik kanan CustomProfile.pubxml dan ganti namanya menjadi Test.pubxml.

  4. Klik kanan Test.pubxml. Pilih Tambahkan Transformasi Konfigurasi.

    Tambahkan menu Transformasi Konfigurasi

    Visual Studio membuat file transformasi Web.Test.config dan membukanya.

  5. Dalam file transformasi Web.Test.config, masukkan kode berikut segera setelah tag konfigurasi pembuka.

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

    Saat Anda menggunakan profil Publikasi pengujian, transformasi ini mengatur indikator lingkungan ke "Uji". Di situs yang disebarkan, Anda akan melihat "(Test)" setelah judul "Contoso University" H1.

  6. Simpan dan tutup file.

  7. Klik kanan file Web.Test.config dan pilih Transformasi Pratinjau untuk memastikan bahwa transformasi yang Anda kodekan menghasilkan perubahan yang diharapkan.

    Jendela Pratinjau Web.config menunjukkan hasil penerapan transformasi Web.Release.config dan transformasi Web.Test.config .

Pratinjau pembaruan penyebaran

  1. Buka wizard Terbitkan Web lagi (klik kanan proyek ContosoUniversity, pilih Terbitkan, lalu Pratinjau).

  2. Dalam kotak dialog Pratinjau , pilih Mulai Pratinjau untuk melihat daftar file yang akan disalin.

    Terbitkan Pratinjau

    Anda juga dapat memilih tautan Pratinjau database untuk melihat skrip yang akan berjalan di database keanggotaan. (Tidak ada skrip yang dijalankan untuk penyebaran Migrasi Pertama Kode, jadi tidak ada yang perlu dipratinjau untuk database aplikasi.)

  3. Pilih Terbitkan.

    Jika Visual Studio tidak dalam mode administrator, Anda mungkin mendapatkan pesan kesalahan izin. Dalam hal ini, tutup Visual Studio, buka dalam mode administrator, dan coba terbitkan lagi.

    Jika Visual Studio berada dalam mode administrator, jendela Output melaporkan build dan penerbitan yang berhasil.

    Output_window_publish_Test

    Jika Anda memasukkan URL di kotak URL Tujuan pada tab Terbitkan Koneksi profil, browser secara otomatis terbuka ke halaman Beranda Universitas Contoso yang berjalan di IIS di komputer Anda.

Menguji di lingkungan pengujian

Perhatikan bahwa indikator lingkungan menunjukkan "(Test)" alih-alih "(Dev)," yang menunjukkan bahwa transformasi Web.config untuk indikator lingkungan berhasil.

Jalankan halaman Instruktur untuk memverifikasi bahwa Kode Pertama seeded database dengan data instruktur. Saat Anda memilih halaman ini, mungkin perlu beberapa menit untuk dimuat karena Kode Pertama membuat database lalu menjalankan Seed metode . (Ini tidak melakukannya ketika Anda berada di beranda karena aplikasi belum mencoba mengakses database.)

Pilih tab Siswa untuk memverifikasi bahwa database yang disebarkan tidak memiliki siswa.

Pilih Tambahkan Siswa dari menu Siswa . Tambahkan siswa, lalu lihat siswa baru di halaman Siswa . Ini memverifikasi bahwa Anda berhasil menulis ke database.

Dari menu Kursus , pilih Perbarui Kredit. Halaman Perbarui Kredit memerlukan izin administrator, sehingga halaman Masuk ditampilkan. Masukkan kredensial akun administrator yang Anda buat sebelumnya ("admin" dan "devpwd"). Halaman Perbarui Kredit ditampilkan. Ini memverifikasi bahwa akun administrator yang Anda buat di tutorial sebelumnya disebarkan dengan benar ke lingkungan pengujian.

Verifikasi bahwa folder ELMAH ada di folder c:\inetpub\wwwroot\ContosoUniversity hanya dengan file tempat penampung di dalamnya.

Tinjau perubahan Web.config otomatis untuk Migrasi Pertama Kode

Buka file Web.config di aplikasi yang disebarkan di C:\inetpub\wwwroot\ContosoUniversity dan Anda dapat melihat di mana proses penyebaran mengonfigurasi Migrasi Pertama Kode untuk memperbarui database secara otomatis ke versi terbaru.

Buka file Web.config di aplikasi yang disebarkan di C:\inetpub\wwwroot\ContosoUniversity dan lihat di mana proses penyebaran mengonfigurasi Migrasi Pertama Kode untuk memperbarui database secara otomatis ke versi terbaru.

Proses penyebaran juga membuat string koneksi baru untuk Migrasi Pertama Kode untuk digunakan secara eksklusif untuk memperbarui skema database:

Database_Publish string koneksi

String koneksi tambahan ini memungkinkan Anda menentukan satu akun pengguna untuk pembaruan skema database dan akun pengguna yang berbeda untuk akses data aplikasi. Misalnya, Anda dapat menetapkan peran db_owner ke Migrasi Pertama Kode dan db_datareader dengan peran db_datawriter ke aplikasi. Ini adalah pola pertahanan mendalam umum yang mencegah kode yang berpotensi berbahaya dalam aplikasi mengubah skema database. (Misalnya, ini mungkin terjadi dalam serangan injeksi SQL yang berhasil.) Tutorial ini tidak menggunakan pola ini. Untuk menerapkan pola ini dalam skenario Anda, lakukan langkah-langkah berikut:

  1. Di wizard Terbitkan Web di bawah tab Pengaturan, masukkan string koneksi yang menentukan pengguna dengan izin pembaruan skema database lengkap. Kosongkan kotak centang Gunakan string koneksi ini saat runtime. Dalam file Web.config yang disebarkan, ini menjadi DatabasePublish string koneksi.

  2. Buat transformasi file Web.config untuk string koneksi yang Anda inginkan untuk digunakan aplikasi pada waktu proses.

Ringkasan

Anda sekarang telah menyebarkan aplikasi Anda ke IIS di komputer pengembangan Anda dan mengujinya di sana.

Halaman beranda dalam Pengujian

Ini memverifikasi bahwa proses penyebaran menyalin konten aplikasi ke lokasi yang tepat (tidak termasuk file yang tidak ingin Anda sebarkan) dan juga bahwa Web Deploy mengonfigurasi IIS dengan benar selama penyebaran. Dalam tutorial berikutnya, Anda akan menjalankan satu pengujian lagi yang menemukan tugas penyebaran yang belum dilakukan: mengatur izin folder pada folder Elm ah .

Informasi selengkapnya

Untuk informasi tentang menjalankan IIS atau IIS Express di Visual Studio, lihat sumber daya berikut ini: