Untuk apa folder “File ASP.NET Sementara”?

157

Saya menemukan folder ini C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Filesdan memiliki beberapa pertanyaan.

  • Untuk apa ASP.NET menggunakan folder ini, dan jenis file apa yang disimpan di sini?
  • Bagaimana cara file disimpan di sini, dan kapan itu diperbarui?
  • Apakah folder tersebut memerlukan pemeliharaan?
Alex Angas
sumber
9
Jika ada orang yang mencari direktori ini sepertinya sudah pindah ke C:\Users\[Username]\AppData\Local\Temp\Temporary ASP.NET Files.
Peter

Jawaban:

174

Inilah yang dikenal sebagai Shadow Copy Folders.

Secara sederhana .... dan saya sungguh-sungguh:

Ketika ASP.NET menjalankan aplikasi Anda untuk pertama kalinya, ia menyalin setiap rakitan yang ditemukan di folder / bin, menyalin semua file kode sumber (ditemukan misalnya di folder App_Code) dan mem-parsing file aspx, ascx Anda ke file c # source. ASP.NET kemudian membangun / mengkompilasi semua kode ini menjadi aplikasi runnable.

Salah satu keuntungan melakukan hal ini adalah mencegah kemungkinan .NET assembly DLL # (dalam folder / bin) dikunci oleh proses pekerja ASP.NET dan karenanya tidak dapat diperbarui.

ASP.NET mengawasi perubahan file di situs web Anda dan akan jika perlu memulai seluruh proses dari awal lagi.

Secara teoritis folder tidak perlu pemeliharaan, tetapi dari waktu ke waktu, dan sangat jarang Anda mungkin perlu menghapus konten. Yang mengatakan, saya bekerja untuk perusahaan hosting, kami menjalankan hingga 1200 situs per server bersama dan saya tidak harus menyentuh folder ini di salah satu dari 250 atau lebih mesin selama bertahun-tahun.

Ini diuraikan dalam artikel MSDN Memahami ASP.NET Dynamic Compilation

Kev
sumber
Halo Kev, saya punya dll com, yang mendapatkan disalin ke folder ini, dll membutuhkan beberapa file konfigurasi dalam folder saat ini untuk menjalankan inorder. bagaimana saya bisa memastikan bahwa mereka juga disalin ke folder ini?
Rakesh
2
@robot - Anda mungkin sudah menemukan jawabannya, tetapi demi pembaca yang akan datang, Anda dapat menemukan lokasi "asli" dari DLL menggunakan Refleksi dan kemudian mengakses file konfigurasi dengan cara itu. Lihat stackoverflow.com/a/837501/211627
JDB masih ingat Monica
2
Folder ini sepertinya mengisi untuk saya karena integrasi terus menerus - setiap kali situs dikerahkan (beberapa kali sehari), salinan baru akan dibuat dalam folder - 29GB sejauh ini.
Andy Joiner
3
Sebagai layanan hosting situs web, mungkin Anda tidak pernah menyentuh folder ini, tetapi bagi para pengembang, ini adalah sakit kepala terbesar yang harus kami tangani. Saya telah menghabiskan waktu berhari-hari untuk menyelesaikan apa yang seharusnya menjadi masalah sepele, tetapi kombinasi bayangan IIS salin dan proyek gaya Visual Studio Web Site adalah mimpi buruk untuk bekerja dengan dan saya harus menghapus konten pada folder ini beberapa kali setiap hari.
bikeman868
8

CLR menggunakannya saat kompilasi saat runtime. Berikut ini tautan ke MSDN yang menjelaskan lebih lanjut.

cgreeno
sumber
4

Di situlah asp.net menempatkan majelis yang disusun secara dinamis.

Pelit
sumber