Права на папочку?
Права на папочку?
Кусок кода, проверяющего структуру на диске :
string appDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);if(appDataFolder == string.Empty){appDataFolder = @"C:\inetpub\logs";}string dumpFolder = Path.Combine(appDataFolder, PathTo);if(!Directory.Exists(dumpFolder)){Directory.CreateDirectory(dumpFolder);}string backupFolder = Path.Combine(dumpFolder, BackupDir);if(!Directory.Exists(backupFolder)){Directory.CreateDirectory(backupFolder);}
В ВинАпп - все работает нормально - ДатаФолдер - получается, папочки создаются.
Под ИИС - наступает большая задница. Юзер, который создается для пула, не имеет своего профайла - ДатаФолдер будет пустой строкой.
Ну это проверяется и подставляется место куда пишутся логи. Бо, это тоже часть логов...
А дальше - идет облом.
Нет пермита на запись. И нет юсера которому можно дать права на запись - там только спец.аккаунт для апппула.
Можно поменять идентити от которого работает апппул на LocalSystem - но в этом случае папочки будут где-то глубоко в С:\Виндовс\..., что мне совершенно не нравится.
Можно создать специального юзера с правами на запись в логс и задать его для апппула, но полиси требует смены пароля каждые 28 дней и поменять этo нельзя...
В общем - непонятно где копать.
Нужны права на создание папок и запись в файлы в этих папках, работающее под ВинЮсером и под ИисЮсером.