Saya perhatikan bahwa sering ada folder aspnet_client di bawah struktur folder web IIS standar. Untuk apa ini digunakan? Apakah itu dibutuhkan?
108
Dalam .NET 1.1 hari dan sebelumnya, folder ini menyediakan ASP.NET dengan dukungan JavaScript untuk kontrol validasi dan fungsionalitas lainnya. Jika Anda tidak memiliki situs .NET 1.1 atau versi lama yang menjalankannya, sebaiknya aman untuk menghapusnya. Saya akan mengganti namanya terlebih dahulu untuk memastikan itu tidak menimbulkan masalah.
Selain apa yang orang lain katakan, ini biasanya dibuat oleh alat aspnet_regiis, yang dapat dijalankan (kembali) oleh hal-hal seperti Pembaruan Windows / AddRemove komponen Windows / IIS. Jadi terkadang meskipun Anda menghapusnya, itu bisa kembali secara acak. Mungkin ada cara untuk menghentikan perilaku ini, tetapi saya belum menemukannya (mungkin mengubah versi aplikasi ke .NET 2 sebenarnya akan melakukannya).
Jadi, kecuali jika Anda menggunakan fitur tertentu dari .NET 1.0 / 1.1 (validasi, Smart Navigation, dll.), Anda dapat menghapusnya tanpa masalah, namun jangan terlalu terkejut jika kembali!
sumber
aspnet_client adalah folder untuk "sumber daya yang harus dilayani melalui HTTP, tetapi diinstal pada basis per server, bukan basis per aplikasi".
Beberapa penggunaan aspnet_client termasuk menyimpan sumber daya (mis. JavaScript, gambar) untuk:
Mungkin ada / akan ada (ab) penggunaan lebih lanjut dari folder ini di masa mendatang. Tak perlu dikatakan, karena ini berisi hal-hal yang "diperlukan agar aplikasi berjalan dengan benar" tetapi "tidak seharusnya digunakan oleh aplikasi", ini akan tetap menjadi mimpi buruk bagi pengembang dan administrator sistem.
Tampaknya 'prototipe' untuk konten folder ada di C: \ inetpub \ wwwroot \, dan tampaknya masuk akal untuk menganggap bahwa jika situs web IIS tertentu tidak memiliki sumber daya / aspnet_client, maka IIS akan mencoba melakukan hal yang benar dan ... sebagai upaya terakhir ... buat folder fisik di folder root situs web, dan salin file di sana. Tampaknya IIS akan melakukan ini setidaknya ketika "ASPNET_regiis / c" dipanggil ke server tertentu - yang mungkin terjadi secara otomatis di beberapa titik kritis ... seperti ketika pembaruan kerangka .NET diterapkan ke server yang memiliki peran IIS.
Strategi untuk menangani direktori aspnet_client meliputi: * menentukan direktori virtual yang dipetakan ke C: \ inetpub \ wwwroot dengan harapan IIS akan melupakan pembuatan direktori fisik * menghapus direktori fisik dari waktu ke waktu jika Anda yakin situs Anda tidak melakukannya ' t membutuhkannya dan itu benar-benar mengganggu Anda * mengabaikan aspnet_client * menjalankan "ASPNET_regiis / c" sendiri jika Anda kehilangan folder, dan membutuhkannya
Mungkin yang paling penting, sebagai pengembang, Anda harus memahami dengan jelas dan mendokumentasikan dependensi aplikasi Anda pada direktori aspnet_client, dan memastikan bahwa prosedur instalasi Anda memiliki instruksi yang relevan untuk memastikan bahwa direktori tersebut ada. Namun, Anda mungkin tidak perlu repot-repot menyediakan direktori sebagai bagian dari paket aplikasi web atau situs web Anda - bagaimana Anda bisa melakukan ini untuk setiap versi kerangka .NET yang akan dilihat server selama masa pakai aplikasi Anda ?!
Beberapa tautan yang akan saya lihat nanti:
sumber
Ia juga memiliki ikon dan skrip tertentu yang diperlukan agar laporan kristal dapat berjalan dengan baik bahkan dalam versi lebih baru dari 1.1
sumber
C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13
Tidak yakin apakah itu hal yang benar untuk dilakukan atau tidak, tetapi saya baru saja menyalin seluruh folder aspnet_client dari root ke direktori tempat tempat contoh Ripplestone saya tinggal.Folder biasanya untuk menyimpan Javascript sisi klien, yang digunakan ASP.NET untuk hal-hal seperti validasi.
Seharusnya aman untuk dihapus.
sumber
Kupikir saya akan menambahkan ini di sini karena ini adalah tautan yang terus saya tuju ketika saya mencari pertanyaan ini di Google. Rupanya dengan .NET 4.0 dan yang lebih baru, folder ini tidak lagi diperlukan dan dapat dihapus tanpa masalah.
sumber
Jika Anda menggunakan Installshield untuk mengkonfigurasi situs ASP.net, ketahuilah bahwa fitur ini ada di Installshield 2010 dan tidak ada di Installshield 2012.
sumber