IIS下的NetworkService具有空的AppData路径

时间:2012-08-21 14:03:24

标签: iis iis-7 iis-8

在Windows 8上使用IIS 8,我设置了一个以Network Service标识运行的应用程序池。

在页面代码中,我调用:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)

两个调用都返回null。

我尝试过组合<identity impersonate="true|false"/>以及在应用程序池设置中将加载用户配置文件设置为true | false,但我总是得到一个null结果。

我希望得到以下一个:

C:\Windows\ServiceProfiles\NetworkService\AppData\Local
C:\Windows\System32\config\systemprofile\AppData\Local

在另一个用户的计算机上,即使应用程序池作为网络服务运行,它们也会将第二个文件夹作为路径(IIS 7.5)。

这些个人资料文件夹可能会发生什么?

2 个答案:

答案 0 :(得分:1)

%WINDIR%\System32\inetsrv\config\applicationHost.config寻找<applicationPoolDefaults>。在<processModel>下,请确保您没有setProfileEnvironment="false"。如果这样做,请将其设置为true。

答案 1 :(得分:0)

我认为您需要LoadUserProfile设置以及来自控制台的一个额外调用:

cd“%~dp0” md appdata

这将为应用程序池用户创建所需的文件夹。我不确定这是否会导致Environment.SpecialFolder.ApplicationData返回正确的路径。