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.
oleh Scott Mitchell
Visual Studio menawarkan ASP.NET pengembang dua jenis proyek: Proyek Aplikasi Web (WAP) dan Proyek Situs Web (WSP). Salah satu perbedaan utama antara kedua jenis proyek adalah bahwa WAP harus memiliki kode yang dikompilasi secara eksplisit sebelum penyebaran sedangkan kode dalam WSP dapat dikompilasi secara otomatis di server web. Namun, dimungkinkan untuk melakukan prakompilasi WSP sebelum penyebaran. Tutorial ini mengeksplorasi manfaat prakompeksi dan menunjukkan cara melakukan prakompeksi situs web dari dalam Visual Studio dan dari baris perintah.
Pengantar
Visual Studio menawarkan pengembang ASP.NET dua jenis proyek yang berbeda: Proyek Aplikasi Web (WAP) dan Proyek Situs Web (WSP). Salah satu perbedaan utama antara jenis proyek ini adalah bahwa WAP memerlukan kompilasi eksplisit sedangkan WSP menggunakan kompilasi otomatis, secara default. Dengan WAP, Anda mengkompilasi kode aplikasi web ke dalam satu assembly, yang dibuat di folder situs web Bin
. Penyebaran memerlukan penyalinan konten markup ( .aspx.ascx
file , dan .master
) dalam proyek, bersama dengan perakitan di Bin
folder; file kelas code-behind sendiri tidak perlu disebarkan. Di sisi lain, Anda menyebarkan WSP dengan menyalin halaman markup dan kelas code-behind yang sesuai ke lingkungan produksi. Kelas code-behind dikompilasi sesuai permintaan di server web.
Catatan
Lihat kembali ke bagian "Kompilasi Eksplisit Versus Kompilasi Otomatis" di tutorial Menentukan File Apa yang Perlu Disebarkan untuk latar belakang lebih lanjut tentang perbedaan antara model proyek, kompilasi eksplisit dan otomatis, dan bagaimana model kompilasi memengaruhi penyebaran.
Opsi kompilasi otomatis mudah digunakan. Tidak ada langkah kompilasi eksplisit dan hanya file yang telah dimodifikasi yang perlu disebarkan, sedangkan kompilasi eksplisit mengharuskan penyebaran halaman markup yang diubah dan rakitan yang baru dikompilasi. Namun, penyebaran otomatis memiliki dua potensi kelemahan:
- Karena halaman harus dikompilasi secara otomatis ketika pertama kali dikunjungi, mungkin ada penundaan singkat tetapi terlihat ketika halaman ASP.NET diminta untuk pertama kalinya setelah disebarkan.
- Kompilasi otomatis mengharuskan markup deklaratif dan kode sumber ada di server web. Ini bisa menjadi opsi yang tidak menarik jika Anda berencana untuk menjual aplikasi web kepada pelanggan yang akan menginstalnya di server web mereka.
Jika salah satu dari dua kekurangan di atas adalah pembobol kesepakatan, Anda dapat beralih ke model WAP atau melakukan prakompilasi WSP sebelum penyebaran. Tutorial ini memeriksa opsi prakomputasi yang paling cocok untuk situs web yang dihosting dan berjalan melalui proses prakomputasi dan penyebaran situs web yang telah dikomputasi sebelumnya.
Gambaran Umum Pembuatan dan Kompilasi Kode ASP.NET
Sebelum kita melihat opsi prakompilasi yang tersedia, mari kita bicarakan terlebih dahulu tentang pembuatan kode dan kompilasi yang terjadi ketika halaman ASP.NET diminta untuk pertama kalinya sejak dibuat atau terakhir diperbarui. Seperti yang Anda ketahui, halaman ASP.NET terdiri dari dua bagian: markup deklaratif dalam .aspx
file; dan bagian kode sumber, biasanya dalam file kelas code-behind terpisah (.aspx.cs
). Langkah-langkah yang dilakukan oleh runtime ketika halaman ASP.NET diminta tergantung pada model kompilasi aplikasi.
Dengan WAP, kode sumber halaman harus dikompilasi secara eksplisit ke dalam satu rakitan sebelum disebarkan. Selama penyebaran, perakitan ini dan berbagai halaman markup disalin ke lingkungan produksi. Ketika permintaan tiba di server web untuk halaman ASP.NET, runtime membuat instans kelas code-behind halaman dan memanggil metodenya ProcessRequest
, yang memulai siklus hidup halaman dan, pada akhirnya, menghasilkan konten halaman, yang dikembalikan ke pemohon. Runtime dapat bekerja dengan kelas code-behind halaman ASP.NET karena kelas code-behind sudah dikompilasi ke dalam assembly sebelum penyebaran.
Dengan WSP dan kompilasi otomatis, tidak ada langkah kompilasi eksplisit sebelum penyebaran. Sebaliknya, penyebaran melibatkan penyalinan konten deklaratif dan kode sumber ke lingkungan produksi. Ketika permintaan tiba di server web untuk halaman ASP.NET untuk pertama kalinya sejak halaman dibuat atau terakhir diperbarui, runtime harus terlebih dahulu mengkompilasi kode-di belakang kelas ke dalam rakitan. Rakitan yang dikompilasi ini disimpan dalam folder %WINDIR%\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
, meskipun lokasi folder ini dapat disesuaikan melalui <compilation tempDirectory="" />
elemen <system.web>
, biasanya di Web.config
. Karena rakitan disimpan ke disk, rakitan tidak perlu dikommpilasikan ulang pada permintaan berikutnya ke halaman yang sama.
Catatan
Seperti yang Anda harapkan, ada sedikit penundaan saat meminta halaman untuk pertama kalinya (atau untuk pertama kalinya sejak diubah) di situs yang menggunakan kompilasi otomatis karena server membutuhkan waktu sejenak untuk mengkompilasi kode halaman dan menyimpan rakitan yang dihasilkan ke disk.
Singkatnya, dengan kompilasi eksplisit, Anda diharuskan untuk mengkompilasi kode sumber situs web sebelum penyebaran, sehingga menghemat runtime dari keharusan melakukan langkah tersebut. Dengan kompilasi otomatis, runtime menangani kompilasi kode sumber halaman, tetapi dengan sedikit biaya inisialisasi untuk kunjungan pertama ke halaman sejak dibuat atau terakhir diperbarui.
Tapi bagaimana dengan bagian deklaratif dari halaman ASP.NET ( .aspx
file)? Jelas bahwa ada hubungan antara .aspx
file dan kode di kelas code-behind mereka, karena kontrol Web yang ditentukan dalam markup deklaratif dapat diakses dalam kode. Jelas juga bahwa konten dalam .aspx
file sangat memengaruhi markup yang dirender yang dihasilkan oleh halaman. Jadi bagaimana cara kerja runtime dengan sintaks kontrol teks, HTML, dan Web yang ditentukan dalam .aspx
file untuk menghasilkan konten yang dirender halaman yang diminta?
Saya tidak ingin terlalu teralihkan pada detail implementasi tingkat rendah, yang bervariasi antara WAP dan WSP, tetapi singkatnya runtime secara otomatis menghasilkan file kelas yang berisi berbagai kontrol Web sebagai anggota dan metode yang dilindungi. File yang dihasilkan ini diimplementasikan sebagai kelas parsial ke kelas code-behind yang sesuai. (Kelas parsial memungkinkan konten satu kelas tersebar di beberapa file.) Oleh karena itu, kelas code-behind didefinisikan di dua tempat: dalam .aspx.cs
file yang Anda buat, dan di kelas yang dibuat secara otomatis ini dibuat oleh runtime. Kelas yang dibuat secara otomatis ini disimpan dalam %WINDIR%\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
folder .
Yang penting diambil di sini adalah bahwa agar halaman ASP.NET dirender oleh runtime baik bagian deklaratif maupun kode sumbernya harus dikompilasi ke dalam perakitan. Dengan WAP, kode sumber secara eksplisit dikompilasi menjadi rakitan sebelum penyebaran, tetapi markup deklaratif masih harus dikonversi menjadi kode dan dikompilasi oleh runtime di server web. Dengan WSP yang menggunakan kompilasi otomatis, kode sumber dan markup deklaratif perlu dikompilasi oleh server web.
Dimungkinkan untuk menggunakan kompilasi eksplisit dengan model WSP. Anda dapat secara eksplisit mengkompilasi bagian kode sumber, seperti dengan model WAP. Terlebih lagi, Anda juga dapat mengkompilasi markup deklaratif.
Opsi Prakomprekomilasi
.NET Framework dikirim dengan alat kompilasi ASP.NET (aspnet_compiler.exe
) yang memungkinkan Anda mengkompilasi kode sumber (dan bahkan konten) dari aplikasi ASP.NET yang dibangun menggunakan model WSP. Alat ini dirilis dengan .NET Framework versi 2.0 dan terletak di %WINDIR%\Microsoft.NET\Framework\v2.0.50727
folder; alat ini dapat digunakan dari baris perintah atau diluncurkan dari dalam Visual Studio melalui opsi Terbitkan Situs Web menu Build.
Alat kompilasi menyediakan dua bentuk kompilasi umum: prekomilasi di tempat dan prakompeksi untuk penyebaran. Dengan prakompilasi di tempat Anda menjalankan aspnet_compiler.exe
alat dari baris perintah dan menentukan jalur ke direktori virtual atau jalur fisik situs web yang berada di komputer Anda. Alat kompilasi kemudian mengkompilasi setiap halaman ASP.NET dalam proyek, menyimpan versi yang dikompilasi di %WINDIR%\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
folder seperti jika halaman masing-masing telah dikunjungi untuk pertama kalinya dari browser. Kompilasi di tempat dapat mempercepat permintaan pertama yang dibuat ke halaman ASP.NET yang baru disebarkan di situs Anda karena mengurangi runtime dari kebutuhan untuk melakukan langkah ini. Namun, kompilasi di tempat tidak berguna untuk sebagian besar situs web yang dihosting karena mengharuskan Anda dapat menjalankan program dari baris perintah server web. Di lingkungan hosting bersama tingkat akses ini tidak diizinkan.
Catatan
Untuk informasi selengkapnya tentang kompilasi di tempat, lihat Cara: Prakombinasi ASP.NET Situs Web dan Prakompeksi di ASP.NET 2.0.
Alih-alih mengkompilasi halaman di situs web ke Temporary ASP.NET Files
folder, prakompilasi untuk penyebaran mengkompilasi halaman ke direktori pilihan Anda dan dalam format yang dapat disebarkan ke lingkungan produksi.
Ada dua rasa prakompilasi untuk penyebaran yang kami jelajahi dalam tutorial ini: prakompilasi dengan antarmuka pengguna yang dapat diperbarui, dan prakompilasi dengan antarmuka pengguna yang tidak dapat diperbarui. Prakompilasi dengan antarmuka pengguna yang dapat diperbarui meninggalkan markup deklaratif di .aspx
file , .ascx
, dan .master
, sehingga memungkinkan pengembang untuk melihat dan, jika diinginkan, memodifikasi markup deklaratif di server produksi. Prakompilasi dengan antarmuka pengguna yang tidak dapat diperbarui menghasilkan .aspx
halaman yang batal dari konten apa pun dan menghapus .ascx
dan .master
file, sehingga menyembunyikan markup deklaratif dan melarang pengembang mengubahnya dari lingkungan produksi.
Pra-kompilasi untuk Penyebaran Dengan Antarmuka Pengguna yang Dapat Diperbarui
Cara terbaik untuk memahami prakompeksi untuk penyebaran adalah dengan melihat contoh dalam tindakan. Mari kita prakompilasi Book Reviews WSP untuk penyebaran menggunakan antarmuka pengguna yang dapat diperbarui. Alat kompilasi ASP.NET dapat dipanggil dari menu Build Visual Studio atau dari baris perintah. Bagian ini memeriksa menggunakan alat dari dalam Visual Studio; bagian "Prakompilasi dari Baris Perintah" melihat menjalankan alat pengkompilasi dari baris perintah.
Buka WSP Tinjauan Buku di Visual Studio, buka menu Build, dan pilih opsi menu Terbitkan Situs Web. Ini meluncurkan kotak dialog Terbitkan Situs Web (lihat Gambar 1), tempat Anda dapat menentukan lokasi target, apakah antarmuka pengguna situs yang telah dikompilasi sebelumnya dapat diperbarui atau tidak, dan opsi alat pengkompilasi lainnya. Lokasi target bisa menjadi server web jarak jauh atau server FTP, tetapi untuk saat ini pilih folder di hard drive komputer Anda. Karena kami ingin melakukan prakombinasikan situs dengan antarmuka pengguna yang dapat diperbarui, biarkan kotak centang "Izinkan situs yang telah dikommpilasikan ini dapat diperbarui" dicentang dan klik OK.
Gambar 1: Alat Kompilasi ASP.NET Akan Melakukan Prakombinasikan Situs Web Anda ke Lokasi Target yang Ditentukan
(Klik untuk melihat gambar ukuran penuh)
Catatan
Opsi Terbitkan Situs Web di menu Build tidak tersedia di Visual Web Developer. Jika Anda menggunakan Visual Web Developer, Anda harus menggunakan versi baris perintah dari alat kompilasi ASP.NET, yang tercakup dalam bagian "Prakompilasi dari Baris Perintah".
Setelah melakukan prakompilasi situs web, navigasikan ke lokasi target yang Anda masukkan dalam kotak dialog Terbitkan Situs Web. Luangkan waktu sejenak untuk membandingkan isi folder ini dengan isi situs web Anda.
Gambar 2 memperlihatkan folder situs web Ulasan Buku. Perhatikan bahwa file tersebut berisi file .aspx
dan .aspx.cs
. Selain itu, perhatikan bahwa Bin
direktori hanya menyertakan satu file, Elmah.dll
, yang kami tambahkan dalam tutorial sebelumnya
Gambar 2: Direktori Proyek Berisi .aspx
dan .aspx.cs
File; Bin
Folder Hanya Menyertakan Elmah.dll
(Klik untuk melihat gambar ukuran penuh)
Gambar 3 menunjukkan folder lokasi target yang kontennya dibuat oleh alat kompilasi ASP.NET. Folder ini tidak memuat berkas kode-di belakang. Selain itu, direktori folder Bin
ini mencakup beberapa rakitan dan dua .compiled
file selain perakitan Elmah.dll
.
Gambar 3: Folder Lokasi Target Menyertakan File untuk Penyebaran
(Klik untuk melihat gambar ukuran penuh)
Tidak seperti kompilasi eksplisit dalam WAP, prakompemilasi untuk proses penyebaran tidak membuat satu rakitan untuk seluruh situs. Sebaliknya, ia mengumpulkan beberapa halaman ke dalam setiap perakitan. Ini juga mengkompilasi Global.asax
file (jika ada) ke dalam rakitannya sendiri, serta kelas apa pun di App_Code
folder. File yang menyimpan markup deklaratif untuk halaman web ASP.NET, Kontrol Pengguna, dan halaman master (.aspx
, .ascx
, dan .master
file, masing-masing) disalin apa adanya ke direktori lokasi target. Demikian juga, file disalin Web.config
langsung, bersama dengan file statis apa pun, seperti gambar, kelas CSS, dan file PDF. Untuk deskripsi yang lebih formal tentang bagaimana alat kompilasi menangani berbagai jenis file, lihat Penanganan File Selama ASP.NET Prakompeksi.
Catatan
Anda dapat menginstruksikan alat kompilasi untuk membuat satu rakitan per halaman ASP.NET, Kontrol Pengguna, atau halaman master dengan mencentang kotak centang "Penamaan tetap yang digunakan dan rakitan halaman tunggal" dari kotak dialog Terbitkan Situs Web. Memiliki setiap halaman ASP.NET yang dikompilasi ke dalam rakitannya sendiri memungkinkan kontrol yang lebih halus atas penyebaran. Misalnya, jika Anda memperbarui satu halaman web ASP.NET dan perlu menyebarkan perubahan tersebut, Anda hanya perlu menyebarkan file halaman tersebut .aspx
dan perakitan terkait ke lingkungan produksi. Lihat Cara: Membuat Nama Tetap dengan Alat Kompilasi ASP.NET untuk informasi selengkapnya.
Direktori lokasi target juga berisi file yang bukan bagian dari proyek web yang telah dikommpilasikan sebelumnya, yaitu PrecompiledApp.config
. File ini menginformasikan runtime ASP.NET bahwa aplikasi telah dikommpilasikan sebelumnya dan apakah telah dikommpilasikan sebelumnya dengan UI yang dapat diperbarui atau tidak dapat diperbarui.
Terakhir, luangkan waktu sejenak untuk membuka salah .aspx
satu file di lokasi target menggunakan Visual Studio atau editor teks pilihan Anda. Saat melakukan prakompeksi untuk penyebaran dengan antarmuka pengguna yang dapat diperbarui, halaman ASP.NET di direktori lokasi target berisi markup yang sama persis dengan file yang sesuai di situs web.
Prakompemilasi untuk Penyebaran Dengan Antarmuka Pengguna yang Tidak Dapat Diperbarui
Alat pengkompilasi ASP.NET juga dapat digunakan untuk melakukan prakompilasi situs untuk penyebaran dengan UI yang tidak dapat diperbarui. Mengompilasikan situs dengan UI yang tidak dapat diperbarui berfungsi seperti prakomputasi dengan UI yang dapat diperbarui, perbedaan utamanya adalah bahwa halaman ASP.NET, Kontrol Pengguna, dan halaman master di direktori target dilucuti dari markup mereka. Untuk melakukan prakompilasi situs web untuk penyebaran dengan UI yang tidak dapat diperbarui, pilih opsi Terbitkan Situs Web dari menu Build, tetapi hapus centang opsi "Izinkan situs yang telah dikompilasi ini dapat diperbarui" (lihat Gambar 4).
Gambar 4: Hapus centang Opsi "Izinkan situs yang telah dikommpilasikan sebelumnya ini dapat diperbarui" Untuk Melakukan Prakompeksi Dengan UI yang Tidak Dapat Diperbarui
(Klik untuk melihat gambar ukuran penuh)
Gambar 5 memperlihatkan folder lokasi target setelah melakukan prakompeksi dengan antarmuka pengguna yang tidak dapat diperbarui.
Gambar 5: Folder Lokasi Target untuk Penyebaran Dengan UI yang Tidak Dapat Diperbarui
(Klik untuk melihat gambar ukuran penuh)
Bandingkan Gambar 3 dengan Gambar 5. Meskipun kedua folder mungkin terlihat identik, perhatikan bahwa folder UI yang tidak dapat diperbarui tidak memiliki halaman master, Site.master
. Dan sementara Gambar 5 menyertakan berbagai halaman ASP.NET, jika Anda melihat konten file-file ini, Anda akan melihat bahwa file tersebut telah dilucuti dari markup deklaratifnya dan diganti dengan teks tempat penampung: "Ini adalah file penanda yang dihasilkan oleh alat prakompilasi, dan tidak boleh dihapus!"
Gambar 5: Markup Deklaratif Telah Dihapus dari Halaman ASP.NET
Folder Bin
di Gambar 3 dan 5 berbeda lebih substansial. Selain rakitan, Bin
folder di Gambar 5 menyertakan .compiled
file untuk setiap halaman ASP.NET, Kontrol Pengguna, dan halaman master.
Prakompilasi situs dengan UI yang tidak dapat diperbarui berguna dalam situasi di mana Anda tidak ingin konten halaman ASP.NET dimodifikasi oleh orang atau perusahaan yang menginstal atau mengelola situs web di lingkungan produksi. Jika Anda membangun aplikasi web ASP.NET yang Anda jual kepada pelanggan untuk diinstal di server web mereka sendiri, Anda mungkin ingin memastikan bahwa mereka tidak memodifikasi tampilan dan nuansa situs Anda dengan langsung mengedit halaman yang .aspx
Anda kirimkan kepada mereka. Dengan melakukan prakompilasi situs web Anda dengan UI yang tidak dapat diperbarui, Anda mengirim halaman tempat penampung .aspx
sebagai bagian dari penginstalan, sehingga mencegah pelanggan Anda memeriksa atau memodifikasi konten mereka.
Prakompemiling dari Baris Perintah
Di balik layar, kotak dialog Terbitkan Situs Web Visual Studio memanggil alat kompilasi ASP.NET (aspnet_compiler.exe
) untuk melakukan prakompilasi situs web. Atau, Anda dapat memanggil alat ini dari baris perintah. Bahkan, jika Anda menggunakan Visual Web Developer maka Anda harus menjalankan alat pengkompilasi dari baris perintah, karena menu Build Pengembang Web Visual tidak menyertakan opsi Terbitkan Situs Web.
Untuk menggunakan alat pengkompilasi dari baris perintah, mulailah dengan menjatuhkan ke baris perintah dan menavigasi ke direktori kerangka kerja, %WINDIR%\Microsoft.NET\Framework\v2.0.50727
. Selanjutnya, masukkan pernyataan berikut ke dalam baris perintah:
aspnet_compiler -p "physical_path_to_app" -v / -f -u "target_location_folder"
Perintah di atas meluncurkan alat pengkompilasi ASP.NET (aspnet_compiler.exe
) dan, melalui -p
sakelar, menginstruksikannya untuk melakukan prakompilasi situs web yang berakar pada physical_path_to_app; nilai ini akan menjadi sesuatu seperti C:\MySites\BookReviews
, dan harus dibatasi oleh tanda kutip.
Sakelar -v
menentukan direktori virtual situs. Jika situs Anda terdaftar sebagai situs web default di metabase IIS maka Anda dapat menghilangkan -p
sakelar dan hanya menentukan direktori virtual aplikasi. Jika Anda menggunakan -p
sakelar, nilai yang melanjutkan -v
sakelar menunjukkan akar situs web, dan digunakan untuk menyelesaikan referensi akar aplikasi. Misalnya, jika Anda menentukan nilai -v /MySite
referensi dalam aplikasi ~/path/file
yang akan diselesaikan sebagai ~/MySite/path/file
. Karena situs Ulasan Buku terletak di direktori akar di perusahaan hosting web saya, saya telah menggunakan sakelar -v /
.
Sakelar -f
, jika ada, menginstruksikan alat kompilasi untuk menimpa direktori target_location_folder jika sudah ada. Jika Anda menghilangkan -f
sakelar dan folder lokasi target sudah ada, alat kompilasi akan berhenti dengan kesalahan: "kesalahan ASPRUNTIME: Direktori target tidak kosong. Hapus secara manual atau pilih target yang berbeda."
Sakelar -u
, jika ada, menginformasikan alat untuk membuat antarmuka pengguna yang dapat diperbarui. Hilangkan sakelar ini untuk melakukan prakombinasi situs dengan antarmuka pengguna yang tidak dapat diperbarui.
Terakhir, target_location_folder adalah jalur fisik ke direktori lokasi target; nilai ini akan menjadi sesuatu seperti C:\MySites\Output\BookReviews
, dan harus dibatasi oleh tanda kutip.
Menyebarkan Situs Web yang Telah Dikompresi
Pada titik ini kita telah melihat cara menggunakan alat kompilasi ASP.NET untuk melakukan prakompeksi situs web menggunakan opsi antarmuka pengguna yang dapat diperbarui dan tidak dapat diperbarui. Namun, contoh kami sejauh ini telah mengompilasikan situs web ke folder lokal, dan bukan ke lingkungan produksi. Kabar baiknya adalah bahwa menyebarkan situs web yang telah dikompilasi sebelumnya sangat mudah dan dapat dilakukan melalui Visual Studio atau melalui beberapa mekanisme salinan file lainnya, seperti dari klien FTP yang berdiri sendiri.
Kotak dialog Terbitkan Situs Web (pertama kali diperlihatkan di Gambar 1) memiliki opsi lokasi target, yang menunjukkan tempat file situs web yang telah dikompilasi sebelumnya disalin. Lokasi ini bisa menjadi server web jarak jauh atau server FTP. Memasukkan server jarak jauh ke dalam kotak teks ini melakukan prakombinasi dan menyebarkan situs web ke server yang ditentukan dalam satu langkah. Atau, Anda dapat melakukan prakompilasi situs web ke folder lokal dan kemudian menyalin konten folder tersebut secara manual ke lingkungan produksi melalui FTP atau pendekatan lainnya.
Memiliki situs web yang telah dikompilasi secara otomatis disebarkan melalui kotak dialog Situs Web Terbitkan Visual Studio sangat membantu untuk situs sederhana di mana tidak ada perbedaan konfigurasi antara lingkungan pengembangan dan produksi. Namun, seperti yang disebutkan dalam tutorial Perbedaan Konfigurasi Umum Antara Pengembangan dan Produksi, tidak jarang perbedaan tersebut ada. Misalnya, aplikasi web Ulasan Buku menggunakan database yang berbeda di lingkungan produksi daripada di lingkungan pengembangan. Saat Visual Studio menerbitkan situs web ke server jarak jauh, visual Studio menyalin informasi file konfigurasi secara membabi buta di lingkungan pengembangan.
Untuk situs dengan perbedaan konfigurasi antara lingkungan pengembangan dan produksi, sebaiknya prakompilasi situs ke direktori lokal, salin file konfigurasi khusus produksi, lalu salin konten output yang telah dikompilasi sebelumnya ke produksi.
Untuk penyegaran tentang menyalin file dari lingkungan pengembangan ke lingkungan produksi, lihat tutorial Menyebarkan Situs Web Anda Menggunakan Klien FTP dan Menyebarkan Situs Web Anda Menggunakan Visual Studio .
Ringkasan
ASP.NET mendukung dua mode kompilasi: otomatis dan eksplisit. Seperti yang dibahas dalam tutorial sebelumnya, Proyek Aplikasi Web (WAP) menggunakan kompilasi eksplisit sedangkan Proyek Situs Web (WSP) menggunakan kompilasi otomatis, secara default. Namun, dimungkinkan untuk secara eksplisit mengkompilasi WSP sebelum penyebaran dengan menggunakan alat kompilasi ASP.NET.
Tutorial ini berfokus pada prekomiliasi alat kompilasi untuk dukungan Penyebaran. Saat melakukan prakompilasi untuk penyebaran, alat kompilasi membuat folder lokasi target, mengkompilasi kode sumber aplikasi web yang ditentukan, dan menyalin rakitan yang dikompilasi ini dan file konten ke folder lokasi target. Alat kompilasi dapat dikonfigurasi untuk membuat antarmuka pengguna yang dapat diperbarui atau tidak dapat diperbarui. Saat melakukan prakompeksi dengan opsi antarmuka pengguna yang tidak dapat diperbarui, markup deklaratif dalam file konten dihapus. Singkatnya, prakompilasi memungkinkan Anda untuk menyebarkan aplikasi berbasis Proyek Situs Web Anda tanpa menyertakan file kode sumber apa pun dan dengan markup deklaratif dihapus, jika diinginkan.
Selamat Pemrograman!
Bacaan lebih lanjut
Untuk informasi selengkapnya tentang topik yang dibahas dalam tutorial ini, lihat sumber daya berikut: