Para que serve a pasta "Arquivos ASP.NET temporários"?

157

Eu descobri esta pasta C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Filese tenho algumas perguntas.

  • Para que o ASP.NET usa essa pasta e que tipo de arquivos são armazenados aqui?
  • Como um arquivo é armazenado aqui e quando é atualizado?
  • A pasta precisa de algum tipo de manutenção?
Alex Angas
fonte
9
Caso alguém esteja procurando este diretório, ele parece ter se mudado para C:\Users\[Username]\AppData\Local\Temp\Temporary ASP.NET Files.
Peter

Respostas:

174

São as chamadas pastas de cópia de sombra.

Simplisticamente .... e eu realmente quero dizer isso:

Quando o ASP.NET executa seu aplicativo pela primeira vez, ele copia todos os assemblies encontrados na pasta / bin, copia qualquer arquivo de código-fonte (encontrado, por exemplo, na pasta App_Code) e analisa seus arquivos aspx e ascx em arquivos de origem c #. O ASP.NET cria / compila todo esse código em um aplicativo executável.

Uma vantagem disso é que evita a possibilidade de o número da DLL de montagem .NET (na pasta / bin) ficar bloqueado pelo processo de trabalho do ASP.NET e, portanto, não atualizável.

O ASP.NET observa as alterações no arquivo do seu site e, se necessário, inicia todo o processo novamente.

Teoricamente, a pasta não deve precisar de manutenção, mas de tempos em tempos, e raramente é necessário excluir o conteúdo. Dito isso, eu trabalho para uma empresa de hospedagem, rodamos até 1200 sites por servidor compartilhado e não precisei tocar nessa pasta em nenhuma das 250 máquinas por anos.

Isso é descrito no artigo do MSDN Noções básicas sobre compilação dinâmica do ASP.NET

Kev
fonte
Oi Kev, Eu tenho uma DLL, que está sendo copiada para esta pasta, DLL precisa de alguns arquivos de configuração em sua pasta atual para executar. como posso garantir que eles também sejam copiados para esta pasta?
Rakesh
2
@robot - Você provavelmente já encontrou a resposta, mas para o futuro dos leitores, você pode encontrar o local "original" da DLL usando o Reflection e acessar os arquivos de configuração dessa maneira. Veja stackoverflow.com/a/837501/211627
JDB ainda se lembra de Monica
2
Essa pasta parece estar sendo preenchida devido à integração contínua - sempre que o site é implantado (várias vezes ao dia), uma nova cópia é criada na pasta - 29 GB até o momento.
Andy Joiner
3
Como um serviço de hospedagem de sites, talvez você nunca toque nessa pasta, mas, para os desenvolvedores, é de longe a maior dor de cabeça com a qual temos de lidar. copiar e projetos de estilo do Visual Studio Web Site são um pesadelo para trabalhar e eu tenho que limpar o conteúdo desta pasta várias vezes ao dia.
bikeman868
8

O CLR o utiliza quando está compilando em tempo de execução. Aqui está um link para o MSDN que explica mais a fundo.

cgreeno
fonte
4

É aí que o asp.net coloca assemblies compilados dinamicamente.

StingyJack
fonte