Каталог для хранения файла приложения для каждой машины (xml), чтобы все мои пользователи (использующие приложение) могли читать / писать в него

Я прошел через множество дискуссий на нескольких форумах, где люди обсуждали, как CommonAppDataFolder можно использовать для хранения файлов для каждой машины.

В моем приложении есть требование, согласно которому мне нужно хранить XML файл в общем месте, чтобы все пользователи, запускающие мое приложение, могли читать / писать в этот файл.

Я понимаю, что CommonAppDataFolder (C:\ProgramData для Windows 7) позволяет администраторам иметь доступ для чтения, но не позволяет обычным пользователям писать в файл.

Одно из решений, с которыми я столкнулся, - изменить права доступа к папке приложения в CommonAppDataFolder, чтобы разрешить чтение / запись для всех пользователей.

Это лучший способ выполнить мои требования или Microsoft предлагает лучший способ?


person naren.katneni    schedule 20.12.2012    source источник
comment
Совместное расположение в том, что все они пишут / читают в один и тот же файл, или у каждого пользователя будет свой собственный индивидуальный файл?   -  person Aaron McIver    schedule 20.12.2012
comment
Это единый файл, доступный для всех пользователей.   -  person naren.katneni    schedule 20.12.2012
comment
Почему бы вам тогда не использовать базу данных в этом случае? Если эти настройки предназначены для совместного использования, наличие копии на каждой машине не имеет для меня особого смысла.   -  person Aaron McIver    schedule 20.12.2012
comment
Эти настройки нужны мне в первую очередь для подключения к базе данных. И есть также специфические настройки терминала, которые не могут быть сохранены в базе данных.   -  person naren.katneni    schedule 20.12.2012
comment
Я не понимаю, почему вы не используете приложение и Пользовательские настройки? Используйте для этого настройки приложения, настройки приложения, а затем используйте базу данных для данных, которые вы хотите совместно использовать во время выполнения в приложении. Создание собственного XML-файла и путь, по которому вы, кажется, идете, для меня не имеет смысла.   -  person Aaron McIver    schedule 20.12.2012
comment
Строка подключения к базе данных находится в файле конфигурации и может быть изменена пользователями, запускающими приложение.   -  person naren.katneni    schedule 20.12.2012


Ответы (1)


Предлагаю вам использовать: Environment.SpecialFolder.CommonDocuments.

person Mir    schedule 20.12.2012
comment
Этот XML-файл содержит appSettings для приложения. Целесообразно ли (обычная практика) хранить такие файлы в общих документах? - person naren.katneni; 20.12.2012
comment
Если требуется сделать их доступными для всех пользователей, и вы не можете предоставить доступ администратора к папке C:\ProgramData, да. В противном случае рекомендуется ApplicationData. Вы можете обратиться к: blogs.msdn.com/b/patricka/archive/2010/03/18/ - person Mir; 20.12.2012
comment
У меня будет доступ к одному файлу для всех пользователей, вместо того, чтобы каждый из них имел копию в своем соответствующем ApplicationData По ссылке, которую вы разместили, мой файл можно отнести к категории Per machine configuration data. Но он не дает разрешение на запись всем пользователям. - person naren.katneni; 20.12.2012
comment
Именно поэтому я предложил CommonDocuments. - person Mir; 20.12.2012