Ich habe eine Webanwendung, die von DefaultAppPool
Konto ausgeführt wird. Ich möchte einige Dateien in den DefaultAppPool der AppData-Ordner (oder einen anderen Ordner, die zu 100% zugänglich von dem Konto ist meine Anwendung ausgeführt wird) schreibenGet DefaultAppPool AppData Ordner aus der Webanwendung
I
Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData)
aber aus irgendeinem Grund versucht haben, Es gibt eine leere Zeichenfolge zurück.
Environment.GetFolderPath(System.Environment.SpecialFolder.UserProfile)
gibt C:\\Users\DefaultAppPool
wie erwartet zurück.
Wie kann ich den AppData-Pfad für DefaultAppPool abrufen?
EDIT: Dieser Code in das Modell ausgeführt wird
Haben Sie versucht, die immer Umgebungsvariablenwert% AppData%? –
Ja, ich habe versucht, \t \t 'System.Environment.ExpandEnvironmentVariables ("% AppData% ")', aber es gibt "C: \\ Windows \\ System32 \\ Config \ Systemprofil \ AppData \\ Roaming" und Meine Web-App kann dort nicht schreiben – VladL
Obwohl es ein Benutzerverzeichnis für DefaultAppPool auf der Festplatte gibt, wird das Profil für den 'Benutzer' nicht geladen, wenn der AppPool ausgeführt wird, deshalb 'Environment.GetFolderPath (System.Environment.SpecialFolder.ApplicationData) 'ist leer und deshalb erhalten Sie stattdessen das Systemprofil. Hutchonoids Lösung scheint zu funktionieren, aber ich würde tatsächlich davon abraten, irgendwelche permanenten Daten im Benutzerverzeichnis des AppPool-Identitätsbenutzers zu speichern. Was passiert, wenn ein Administrator die Identität des AppPools ändert? Für temporäre Daten können Sie immer auf% temp% –