Chcę, aby moja aplikacja internetowa MVC3 miała dostęp do% APPDATA% (na przykład C:\Users\MyUsername\AppData\Roaming
w systemie Windows 7), ponieważ przechowuję tam pliki konfiguracyjne. Dlatego utworzyłem pulę aplikacji w IIS z tożsamością użytkownika "MyUsername", utworzyłem profil tego użytkownika logując się na konto i włączyłem opcję "Załaduj profil użytkownika" (i tak było prawdą domyślnie). Podszywanie się jest wyłączone.Pula aplikacji IIS 7.5 używa nieprawidłowego% APPDATA% dla niestandardowego użytkownika jako tożsamości
Teraz mam problem, że% appdata% (w C#):
appdataDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
postanawia c:\windows\system32\inetsrv
zamiast C:\Users\MyUsername\AppData\Roaming
.
UPDATE: Dokładniej, powyższy kod C# zwraca pusty ciąg, tak że Path.GetFullPath(Path.Combine(appdataDir, "MyAppName"))
poprzedza bieżącą ścieżkę do mojego nazwa aplikacji, w wyniku c:\windows\system32\inetsrv\MyAppName
.
wiem Zrobiłem tę pracę, zanim z tej samej aplikacji internetowej na komputerze z systemem Windows Server 2008 R2, a teraz dostaję ten problem z tej samej wersji głównej 7.5 IIS na moim Windows 7.
użyłem taka sama procedura jak poprzednio: Utworzono nowego użytkownika, zalogowałem się jako ten użytkownik, aby utworzyć profil i katalogi APPDATA, a następnie dodałem pula aplikacji o tej tożsamości i ostatecznie dodałem aplikację internetową do tej puli.
Wszelkie pomysły?
Czy Twój pula aplikacji skonfigurowane jako Classic lub trybu zintegrowanego? – Kev
@Kev: tryb zintegrowany. – AndiDog
Mam ten sam problem. Szczególnie dziwne jest to, że ścieżka do Environment.SpecialFolder.UserProfile działa dobrze, a jeśli utworzę ścieżkę do folderu AppData, to działa. – Jason