What is the “Temporary ASP.NET Files” folder for?

2019-01-01 15:31发布

问题:

I\'ve discovered this folder in C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\Temporary ASP.NET Files and have a few questions.

  • What does ASP.NET use this folder for, and what sort of files are stored here?
  • How does a file get stored here, and when is it updated?
  • Does the folder need any sort of maintenance?

回答1:

These are what\'s known as Shadow Copy Folders.

Simplistically....and I really mean it:

When ASP.NET runs your app for the first time, it copies any assemblies found in the /bin folder, copies any source code files (found for example in the App_Code folder) and parses your aspx, ascx files to c# source files. ASP.NET then builds/compiles all this code into a runnable application.

One advantage of doing this is that it prevents the possibility of .NET assembly DLL\'s #(in the /bin folder) becoming locked by the ASP.NET worker process and thus not updatable.

ASP.NET watches for file changes in your website and will if necessary begin the whole process all over again.

Theoretically the folder shouldn\'t need any maintenance, but from time to time, and only very rarely you may need to delete contents. That said, I work for a hosting company, we run up to 1200 sites per shared server and I haven\'t had to touch this folder on any of the 250 or so machines for years.

This is outlined in the MSDN article Understanding ASP.NET Dynamic Compilation



回答2:

The CLR uses it when it is compiling at runtime. Here is a link to MSDN that explains further.



回答3:

Thats where asp.net puts dynamically compiled assemblies.