|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Всем привет! Интересует best practice работы с настройками (desktop приложение), чтение-запись настроек, а также создание настроек в run-time. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 08:36 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Криптовалютный ХайпВсем привет! Интересует best practice работы с настройками (desktop приложение), чтение-запись настроек обычные стандартные Application Settings Криптовалютный Хайпа также создание настроек в run-time. А код для использования созданных в рантайме настроек тоже будет генерироваться в рантайме? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 09:06 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, ну вообще есть такой класс ConfigurationManager, где можно и добавлять и удалять настройки и код в рантайме не нужно генерировать. Другое дело, как код будет эти настройки обрабатывать, если он о них ничего не знает. Но возможно там модульная архитектура, а конфигурация для всех модулей одна. Или еще какое извращение. Или настройки нужны для каких то пользовательских отчетов и подобных вещей. По моему, вполне нормальная хотелка у автора :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 13:08 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Криптовалютный Хайп, Смотря какие настройки. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 13:23 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Roman MejtesСон Веры Павловны, ну вообще есть такой класс ConfigurationManager, где можно и добавлять и удалять настройки А можно конкретнее - какие именно методы это делают? Вот ConfigurationManager , вот Configuration - в упор не вижу ничего для создания новых настроек. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 13:46 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, создаете config файл и конфигурируйте свои настройки как хотите, если надо добавлять удалять, создаете в Settgins нужные параметры с ключами, профит. вроде как создать файл .config через менеджер нельзя, но можно открыть и редактировать ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 14:15 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Roman MejtesСон Веры Павловны, создаете config файл и конфигурируйте свои настройки как хотите, если надо добавлять удалять, создаете в Settgins нужные параметры с ключами, профит. Ну, то есть уже не посредством ConfigurationManager, а редактированием конфига, так? Roman Mejtesвроде как создать файл .config через менеджер нельзя, но можно открыть и редактировать Ага, редактировать можно. Только толку от этого мало - при попытке, например, удалить настройку, вы всего лишь добъетесь того, что будет использоваться дефолтное значение настройки из атрибута DefaultSettingValueAttribute. А для редактирования настройки со Scope=User нужно реадктировать не от конфиг, который рядом с приложением, а тот, который в LocalAppData по достаточно нетривиальному пути. Проще уж свою систему настроект с XML-сериализацией написать. Но и она не позволит работать с динамически создаваемыми настройками из кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 15:16 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Динамические юзерские настройки Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 15:40 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Только юзерские настройки, они и есть юзерские их применяют обычно, например для сохранения каких-либо параметров внешнего вида и тд и тп. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 15:49 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
fortibransa, Ключевой вопрос: "Зачем динамические"? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 15:53 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Petro123fortibransa, Ключевой вопрос: "Зачем динамические"?Я сохраняю размер колонок грида, размер и положение форм и тл и тп. Саму реализацию конечно можно переделать без try catch, но работает, да и ладно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 15:56 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Кстати не юзерские настройки сохранять нельзя, но при необходимости их можно менять. Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 16:00 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
fortibransaPetro123fortibransa, Ключевой вопрос: "Зачем динамические"?Я сохраняю размер колонок грида, размер и положение форм и тл и тп. Саму реализацию конечно можно переделать без try catch, но работает, да и ладно :)а где динамика? Properties.Settings.Default.ColumnsW = "12;22;567;44" ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 16:30 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
fortibransa, По хорошему, грид это отдльная песня. Он сам себя должен сохранять, напр. в реестре. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 16:33 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Petro123fortibransaпропущено... Я сохраняю размер колонок грида, размер и положение форм и тл и тп. Саму реализацию конечно можно переделать без try catch, но работает, да и ладно :)а где динамика? Properties.Settings.Default.ColumnsW = "12;22;567;44" А у тебя один грид на приложение? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 16:55 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Petro123fortibransa, По хорошему, грид это отдльная песня. Он сам себя должен сохранять, напр. в реестре. дело хозяйское. Кстати в моем случае, если приложение поменяет версию, то настройки те, тю тю. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 16:57 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
fortibransa, Ниже же дан ответ про реестр. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 16:59 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
fortibransa. Кстати в моем случае, если приложение поменяет версию, то настройки те, тю тю.иногда удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 17:01 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
fortibransaДинамические юзерские настройки Ну вот примерно этого я и хотел от Романа. Но для того же сохранения настроек грида - слишком хардкорно. Класс параметров грида, сериализация его в xml, и сохранение в одной-единственной нединамической настройке с типом XmlDocument намного проще и прозрачнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 17:04 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныfortibransaДинамические юзерские настройки Ну вот примерно этого я и хотел от Романа. Но для того же сохранения настроек грида - слишком хардкорно. Класс параметров грида, сериализация его в xml, и сохранение в одной-единственной нединамической настройке с типом XmlDocument намного проще и прозрачнее.Во первых гридов много, насчет прозрачнееи проще вопрос еще тот, а зачем тут прозрачность, сохраняет, работает, что еще надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 17:16 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Вера Павловна, все хорошо, а я не знаю что, я буду сохранять и тратить время на огород специально для грида (у меня просто два простеньких метода), для сплита, для... На фига? Что в бошку пришло и оно уже функцианирует. Да, тут мтип сериализации заменить на binary и вообще что хошь храни. И Ваш xmlDocumemt в том числе. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 17:41 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Сон Веры Павловныобычные стандартные Application Settings Лично я это никогда не использую, хотя бы потому что настройки редактируемые из .Net -морды потом считываются из C++ приложения. Petro123про реестр Реестр, ДА. Но я от него несколько лет назад частично отказался по некоторым соображениям в пользу вообще классического ini-файла настроек WritePrivateProfileString GetPrivateProfileString GetPrivateProfileInt И очень кстати удобно. ИМХО, в реестре разумно хранить координаты-размеры формы под Current User и т.п. но не более. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 17:51 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Дмитрий77реестре разумно хранить координаты-размеры формы под Current User и т.п. но не более.а мы про них и говорим. Про то что стирается на кнопу Настройки - По умолчанию. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 18:35 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Дмитрий77считываются из C++ приложения.экзотика ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 18:36 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Дмитрий77, Сохрани класс в реестре. А сеттинг NET в легкую ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 18:49 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Но...., NET setting на самом деле полная лажа, от нее толку практически ноль. Установки уровня Application по сути просто константы. Юзерские годны только для "внешнего вида" не более того, в общем ХРЕНЬ. Все свои проблемы приходится решать самостоятельно, через свои конфиги и сеттинги, а весь тот огород их, в задницу. Гыы, как ВПФ, оооо, к любому коду, интерфейс, оооо. А на самом деле огород на огороде и при разборе чужого кода и при вспоминании своего и при создании, в ВПФ, натрахайся родной с классами, с вьюверами, нагороди пипец контролов, отладь за два месяца, то что винформс сделаешь за два дня. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2017, 19:55 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
fortibransaНо...., NET setting на самом деле полная лажа, от нее толку практически ноль. Очень развернутое и аргументированное мнение, да. fortibransaУстановки уровня Application по сути просто константы. А что еще от них нужно? fortibransaЮзерские годны только для "внешнего вида" не более того Чего??? fortibransaГыы, как ВПФ, оооо, к любому коду, интерфейс, оооо. А на самом деле огород на огороде и при разборе чужого кода и при вспоминании своего и при создании, в ВПФ, натрахайся родной с классами, с вьюверами, нагороди пипец контролов, отладь за два месяца, то что винформс сделаешь за два дня. 1. А как в этой теме вдруг всплыли WPF и винформс? 2. Такое можно заявлять, когда одинаково хорошо владеешь каждой из сравниваемых технологий. В данном случае у меня большое подозрение, чтос WPF кое у кого не очень срослось. P.S. Сделайте на винформс хотя бы за два дня листбокс/комбобокс с юзерконтролом произвольной сложности в элементах списка. И DGC с тем же юзерконтролом в ячейке грида. В WPF это делается за 5 минут. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2017, 03:09 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныfortibransaНо...., NET setting на самом деле полная лажа, от нее толку практически ноль. Очень развернутое и аргументированное мнение, да. fortibransaУстановки уровня Application по сути просто константы. А что еще от них нужно? fortibransaЮзерские годны только для "внешнего вида" не более того Чего??? fortibransaГыы, как ВПФ, оооо, к любому коду, интерфейс, оооо. А на самом деле огород на огороде и при разборе чужого кода и при вспоминании своего и при создании, в ВПФ, натрахайся родной с классами, с вьюверами, нагороди пипец контролов, отладь за два месяца, то что винформс сделаешь за два дня. 1. А как в этой теме вдруг всплыли WPF и винформс? 2. Такое можно заявлять, когда одинаково хорошо владеешь каждой из сравниваемых технологий. В данном случае у меня большое подозрение, чтос WPF кое у кого не очень срослось. P.S. Сделайте на винформс хотя бы за два дня листбокс/комбобокс с юзерконтролом произвольной сложности в элементах списка. И DGC с тем же юзерконтролом в ячейке грида. В WPF это делается за 5 минут. 1. а что там не так, что там можно аргументировать? Оказались бестолковые их сеттинги. 2. Тогда какой смысл в этих тн сеттингах. 3. А какой еще может быть толк от таких юзерских сеттингов? 4. Пример, срочно нужно продолжить один проект, человек уволился, кидают трех программистов на него, ВПФ кстати, трое программистов, один очень хорошо владеет ВПФ, неделю ковыряются, толку 10%, один из программистов на совещании заявляет или винформс или проект в задницу, начальство соглашается, 2 дня, ДВА дня, все готово и на 3-й день сдано заказчику ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2017, 07:18 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Я все в базе храню. Перешел пользователь на другую машину, а все настройки остались ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2017, 07:35 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Cat2Я все в базе храню. Перешел пользователь на другую машину, а все настройки осталисьДелал так, но начальство сказало, неее, делаем в сеттингах ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2017, 07:37 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Cat2Я все в базе храню. Перешел пользователь на другую машину, а все настройки остались Ещё вариант: Есть есть AD, то в папке user перемещаемые профили. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2017, 09:07 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
fortibransa1. а что там не так, что там можно аргументировать? Оказались бестолковые их сеттинги. 2. Тогда какой смысл в этих тн сеттингах. 3. А какой еще может быть толк от таких юзерских сеттингов? Что конкретно надо вам для счастья в настройках? Чтобы на CD ROM записывала? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2017, 09:10 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
fortibransa1. а что там не так, что там можно аргументировать? Оказались бестолковые их сеттинги. 2. Тогда какой смысл в этих тн сеттингах. 3. А какой еще может быть толк от таких юзерских сеттингов? Поток сознания и эмоции, аргументация нулевая. fortibransa4. Пример, срочно нужно продолжить один проект, человек уволился, кидают трех программистов на него, ВПФ кстати, трое программистов, один очень хорошо владеет ВПФ, неделю ковыряются, толку 10%, один из программистов на совещании заявляет или винформс или проект в задницу, начальство соглашается, 2 дня, ДВА дня, все готово и на 3-й день сдано заказчику И? Один отдельно взятый случай вовсе не показатель картины в целом. Возможно, тот, кто очень хорошо владел WPF, на самом деле владел не так уж и хорошо, возможно, предыдущий автор оставил такую груду лапшекода (которую можно соорудить на любом языке и платформе), что и 10 человек не разгребли бы (об этом косвенно свидетельствует тот факт, что проект был переписан с нуля), или вышеупомянутые трое работали, как лебедь, рак, и щука, либо всё вместе. fortibransaCat2Я все в базе храню. Перешел пользователь на другую машину, а все настройки осталисьДелал так, но начальство сказало, неее, делаем в сеттингах Вообще-то используя все ту же стандартную систему настроек, хранение можно вполне делать хоть в БД, хоть в облаке (хоть в ини-файлах). Petro123fortibransa1. а что там не так, что там можно аргументировать? Оказались бестолковые их сеттинги. 2. Тогда какой смысл в этих тн сеттингах. 3. А какой еще может быть толк от таких юзерских сеттингов? Что конкретно надо вам для счастья в настройках? Чтобы на CD ROM записывала? Мне тоже, кстати, это интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2017, 10:40 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
в настройках раздражает то, что нельзя указать нормально пользовательский тип в конфигураторе настроек, при этом если руками прописать и тип поддерживает XML сериализацию, то всё работает :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2017, 10:49 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
Roman Mejtesнельзя указать нормально пользовательский тип в конфигураторе настроек Если тип в отдельной сборке - вполне можно. Roman Mejtesи тип поддерживает XML сериализацию, то всё работает :) Не обязательно. Можно просто прикрутить к типу атрибутом кастомный TypeConverter с сериализацией в строку. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2017, 11:41 |
|
Best practice работы с настройками приложения
|
|||
---|---|---|---|
#18+
up ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2018, 15:34 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1399503]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 9ms |
total: | 148ms |
0 / 0 |