É possível configurar o local da pasta "Arquivos ASP.NET temporários" no IIS?

25

No IIS7.5, após alternar a identidade do pool para o usuário do domínio, recebi este erro:

"A identidade atual (domínio \ nome de usuário) não tem acesso de gravação para 'C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Arquivos temporários do ASP.NET'."

Eu poderia conceder direitos de usuário a esse diretório específico, mas me pergunto se existe uma solução melhor. Idealmente, eu gostaria de configurar esse diretório "Arquivos ASP.NET temporários" para ser armazenado em outro local.

PanJanek
fonte
Também recebi a mensagem de erro ao tentar executar acidentalmente um aplicativo de serviço da web .Net 3.5 em um pool de aplicativos .Net 2.0 (padrão); a mudança para um pool de aplicativos .Net 4.0 resolveu isso.
Tor Iver Wilhelmsen

Respostas:

23

Você pode alterar o local padrão por site / aplicativo editando a seção Configuração do Web.configarquivo.

<system.web>
  <compilation tempDirectory="D:\MyTempFiles" />
</system.web>

O aplicativo será recompilado e os arquivos serão armazenados nesse novo local, após o qual você poderá remover com segurança as pastas antigas. Observe que os nomes das pastas permanecerão os mesmos; por exemplo, se o local antigo era:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\9878g103\e67805p7

então o novo será:

D:\MyTempFiles\root\9878g103\e67805p7
ShaneH
fonte
7
Muito obrigado ShaneH pela sua resposta. A alteração mencionada não precisa ser feita por site / aplicativo. Você pode aplicar essa alteração com base na versão da estrutura, alterando o arquivo web.config da estrutura, por exemplo: C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ web.config. Ao fazer isso, você afeta todos os sites segmentados para essa versão da estrutura.
Silviu
4
Apenas a nota, este pertence na seção system.web do web.config
CoderTao
@Silviu Apenas um aviso: se você tem um monte de teias no servidor, pode demorar alguns minutos para realizar a compilação (s)
splattne
Eu adicionei esta seção ao machine.config. Funciona.
Evgeni Nabokov