21 авг. 2012 г., 16:03 от Paul Stovell

NetworkService под IIS имеет пустой путь к AppData

Используя IIS 8 в Windows 8, я настроил пул приложений, который работает с идентификаторомNetwork Service.

В коде страницы я звоню:

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

Оба вызова возвращают ноль.

Я пробовал комбинации<identity impersonate="true|false"/> а также установив для параметра «Загрузить профиль пользователя» значение true | false в параметре пула приложений, но я всегда получаю нулевой результат.

Я ожидаю получить один из:

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

На компьютере другого пользователя они получают в качестве пути вторую папку (IIS 7.5), даже если пул приложений работает как сетевая служба.

Что может происходить с этими папками профиля?

Ответы на вопрос (0)

21 авг. 2012 г., 16:29 от maartenba

что вам нужен параметр LoadUserProfile, а также один дополнительный вызов из консоли:

cd & quot;% ~ dp0 & quot; MD AppData

Это создаст необходимую папку для пользователя пула приложений. Я не уверен, что это приведет к тому, что Environment.SpecialFolder.ApplicationData вернет правильный путь.

10 дек. 2012 г., 19:02 от Amit Apple

В вашем%WINDIR%\System32\inetsrv\config\applicationHost.config Ищу<applicationPoolDefaults>, Под<processModel>убедитесь, что у вас нетsetProfileEnvironment="false", Если вы это сделаете, установите его в true.

ВАШ ОТВЕТ НА ВОПРОС