是否可以在IIS中配置“ ASP.NET临时文件”文件夹的位置?


25

在将池标识切换为域用户后,在IIS7.5下出现此错误:

“当前身份(域\用户名)没有对'C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files'的写权限。”

我可以授予该特定目录的用户权限,但是我想知道是否有更好的解决方案。理想情况下,我想将此“ ASP.NET临时文件”目录配置为存储在其他位置。


意外尝试在(默认).Net 2.0应用程序池上运行.Net 3.5 Web服务应用程序时,我也收到错误消息。切换到.Net 4.0应用程序池解决了该问题。
Tor Iver Wilhelmsen

Answers:


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

7
非常感谢ShaneH的回答。您提到的更改不必基于每个网站/应用程序。您可以通过更改框架的web.config文件来应用基于框架版本的更改,例如:C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ web.config。这样,您会影响所有针对该框架版本的网站。
Silviu 2014年

4
只需注意,这属于web.config的system.web部分
CoderTao 2015年

@Silviu只是警告:如果服务器上有很多网站,则可能需要几分钟来执行编译
splattne 2015年

我将此部分添加到machine.config。有用。
伊夫让·纳博科夫
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.