A cosa serve la cartella "File temporanei ASP.NET"?


157

Ho scoperto questa cartella C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Filese ho alcune domande.

  • Per cosa utilizza ASP.NET questa cartella e per quale tipo di file è archiviato qui?
  • Come viene archiviato un file qui e quando viene aggiornato?
  • La cartella necessita di manutenzione?

9
Nel caso in cui qualcuno stia cercando questa directory sembra essersi spostato in C:\Users\[Username]\AppData\Local\Temp\Temporary ASP.NET Files.
Peter,

Risposte:


174

Questi sono quelli che sono noti come Cartelle Copia Shadow.

Semplicisticamente .... e intendo sul serio:

Quando ASP.NET esegue la tua app per la prima volta, copia tutti gli assembly trovati nella cartella / bin, copia tutti i file di codice sorgente (trovati ad esempio nella cartella App_Code) e analizza i tuoi file aspx, ascx in file di origine c #. ASP.NET quindi crea / compila tutto questo codice in un'applicazione eseguibile.

Un vantaggio di ciò è che impedisce la possibilità che il # DLL della DLL di assemblaggio .NET (nella cartella / bin) venga bloccato dal processo di lavoro ASP.NET e quindi non aggiornabile.

ASP.NET controlla le modifiche ai file nel tuo sito Web e, se necessario, ricomincia da capo l'intero processo.

Teoricamente la cartella non dovrebbe richiedere alcuna manutenzione, ma di tanto in tanto, e solo molto raramente potrebbe essere necessario eliminare i contenuti. Detto questo, lavoro per una società di hosting, gestiamo fino a 1200 siti per server condiviso e non ho dovuto toccare questa cartella su nessuna delle 250 macchine per anni.

Questo è descritto nell'articolo MSDN Comprensione della compilazione dinamica ASP.NET


Ciao Kev, ho un comando che viene copiato in questa cartella, per eseguire i file di configurazione nell'attuale cartella in ordine. come posso assicurarmi che vengano copiati anche in questa cartella?
Rakesh,

2
@robot - Probabilmente hai già trovato la risposta, ma per il bene dei futuri lettori, puoi trovare la posizione "originale" della DLL usando Reflection e quindi accedere ai file di configurazione in quel modo. Vedere stackoverflow.com/a/837501/211627
JDB ricorda ancora Monica

2
Questa cartella sembra riempirsi per me a causa della continua integrazione - ogni volta che il sito viene distribuito (più volte al giorno), una nuova copia viene creata nella cartella - finora 29 GB.
Andy Joiner,

3
Come servizio di hosting di siti web forse non tocchi mai questa cartella, ma per gli sviluppatori è di gran lunga il più grande mal di testa che dobbiamo affrontare. Ho trascorso molti giorni interi cercando di risolvere quelli che dovrebbero essere problemi banali, ma la combinazione di IIS shadow i progetti in stile sito Web di copia e Visual Studio sono un incubo con cui lavorare e devo cancellare il contenuto di questa cartella più volte al giorno.
bikeman868,

8

Il CLR lo utilizza durante la compilazione in fase di esecuzione. Ecco un link a MSDN che spiega ulteriormente.


4

Ecco dove asp.net inserisce assembly compilati dinamicamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.