我看到很多这样的老问题,但不是我的情况。
Asp.net应用程序在AppPool中运行(iis在win10中),启用了“加载用户配置文件”。
然而,Environment.GetFolderPath(ApplicationData或LocalApplicationData)返回一个空字符串。 CommonApplicationData返回正确的文件夹。
我确保磁盘上存在{user} \ AppData。
所以,问:我怎样才能得到AppData的空字符串?
答案 0 :(得分:5)
仅在IIS中启用'loadUserProfile'
选项是不够的。
您必须启用另一个选项。这是'setProfileEnvironment'
。我没有找到IIS UI来改变它。
在%windir%\system32\inetsrv\config\applicationHost.config
中打开文件,添加或更改应用程序池的属性。
<configuration>
<system.applicationHost>
<applicationPools>
<add name="YourPool" >
<processModel
loadUserProfile="true"
setProfileEnvironment="true"/>
之后,您可以获取ApplicationData或LocalApplicationData路径!