Можно ли настроить расположение папки «Temporary ASP.NET Files» в IIS?

25

Под IIS7.5 после переключения удостоверения пула на пользователя домена я получил эту ошибку:

«Текущий идентификатор (домен \ имя пользователя) не имеет доступа для записи в« C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files »."

Я мог бы предоставить пользователю права на этот конкретный каталог, но мне интересно, есть ли лучшее решение. В идеале я хотел бы настроить этот каталог «Временные файлы ASP.NET» для хранения в другом месте.

PanJanek
источник
Я также получил сообщение об ошибке при случайной попытке запустить приложение веб-службы .Net 3.5 в (по умолчанию) пуле приложений .Net 2.0; переход на пул приложений .Net 4.0 решил эту проблему.
Тор Ивер Вильгельмсен

Ответы:

23

Вы можете изменить расположение по умолчанию для каждого веб-сайта / приложения, отредактировав раздел конфигурации Web.configфайла.

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

Приложение будет перекомпилировано, и файлы будут сохранены в этом новом месте, после чего вы можете безопасно удалить старые папки. Обратите внимание, что имена папок останутся прежними; например, если старое местоположение было:

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

тогда новый будет:

D:\MyTempFiles\root\9878g103\e67805p7
ShaneH
источник
7
Большое спасибо ShaneH за ваш ответ. Изменения, о которых вы упомянули, не обязательно должны учитываться для каждого сайта / приложения. Вы можете применить это изменение на основе версии фреймворка, изменив файл web.config фреймворка, например: C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ web.config. Этим вы воздействуете на все веб-сайты, нацеленные на эту версию платформы.
Сильвиу
4
Просто обратите внимание, что это относится к разделу system.web web.config
CoderTao
@ Silvu Просто предупреждение: если у вас много веб-сайтов на сервере, выполнение компиляции может занять несколько минут
splattne
Я добавил этот раздел в machine.config. Оно работает.
Евгений Набоков