Environment.GetFolderPath(Environment.SpecialFolder.InternetCache)在ASP.Net项目中返回空字符串

JWh*_*itt 4 asp.net environment-variables windows-7 iis-7.5

我正在本地机器(Windows 7)上开发ASP.Net项目(框架2.0).IIS 7.5是本地Web服务器.

当我在本地运行项目时Environment.GetFolderPath(Environment.SpecialFolder.InternetCache)返回空字符串.

因为我在设置这个新的开发机器时遇到了这个问题,但是我不知道解决方案并且无法通过Googling找到解决方案,我有点羞怯和沮丧.运行XP的开发团队的其他人不会遇到这个问题.

我期待着回归C:\Users\DefaultAppPool\AppData\Local\Microsoft\Windows\Temporary Internet Files.

不确定这是一个iis设置问题还是我可以在某处设置环境变量.

谢谢,杰夫

Nat*_*iff 5

我99%肯定这会归结为权限问题.在IIS7中,有一个名为AppPoolIdentity的新"用户",它是应用程序池的默认标识.此用户的权限低于IIS 6中的默认值.

我可以重现你的问题,我必须将我的AppPool设置为LocalSystem或具有管理权限的特定用户运行,以检索Environment.SpecialFolder.InternetCache,当我查看相关文件夹并查看其权限时这是有意义的.

请注意,运行具有更高权限的IIS应用程序池存在安全问题.