我有一个运行在DefaultAppPool
账户下的Web应用程序。我想把一些文件写入DefaultAppPool的AppData文件夹(或任何其他文件夹,这些文件夹对我的应用程序正在运行的账户是100%可访问的)。
我已经尝试过了:
Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData)
但由于某些原因,它返回了一个空字符串。
Environment.GetFolderPath(System.Environment.SpecialFolder.UserProfile)
按预期返回C:\\Users\DefaultAppPool
。
如何获取DefaultAppPool的AppData路径?
编辑:此代码在模型中执行。
Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData)
为空,也正因此你会得到systemprofile。hutchonoid的解决方案似乎可行,但我实际上建议不要在AppPool身份用户的用户目录中存储任何永久数据。如果某个管理员决定更改AppPool的身份,那该怎么办?对于临时数据,您可以始终依赖于%temp%。 - Peter Hahndorf