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

时间:2011-08-13 19:01:27

标签: asp.net windows-7 environment-variables iis-7.5

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

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

我设置这个新的开发机器时遇到了这个问题,但有点羞怯和沮丧,但是不记得解决方案,也无法通过谷歌搜索找到解决方案。运行XP的开发团队中的其他人不会遇到这个问题。

我期待C:\Users\DefaultAppPool\AppData\Local\Microsoft\Windows\Temporary Internet Files的回复。

不确定这是否是设置问题,或者我可以在某处设置环境变量。

谢谢,杰夫

1 个答案:

答案 0 :(得分:5)

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

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

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