![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| overvolt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 18.6.2012 Репутация: нет Всего: нет |
Есть приложение, у которого имеется несколько конфигурационных текстовых файлов. Внесение изменений хоть в один файл конфигурации сопровождается зависимыми изменениями в других конфигурационных файлах. Как гарантировать, чтобы изменения либо вносились успешно во все файлы, либо не в один из них? (т.е. грубо говоря, как избежать ситуации, когда один файл перезаписали, а другие не успели, например из-за выключения ПК, что уже приводит к неправильному состоянию).
Есть ли какие-то готовые решения данной проблемы? Сам же пока вот как думаю это сделать: прежде чем вносить изменения хоть в один файл, создаются резервные копии всех конфигурационных файлов. Ставится метка, что готовится апдейт. После этого вносятся изменения в файлы конфигурации. Если всё прошло успешно, то метка апдейта снимается и продолжаем работать в нормальном режиме. Если всё прошло неуспешно, т.е. метка апдейта не снялась, то выкатываем все файлы из резервной копии, и в случае успешности этой операции снимает метку апдейта. Но всё же для .NET мне кажется это решение тем ещё велосипедом. Это сообщение отредактировал(а) overvolt - 15.11.2012, 10:06 |
|||
|
||||
| Cynede |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 15.11.2012 Репутация: нет Всего: 1 |
Проще вообще исключить такой вариант. В какой ситуации такое возможно? Это сообщение отредактировал(а) Cynede - 15.11.2012, 12:43 |
|||
|
||||
| infarch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 13.3.2009 Репутация: 1 Всего: 1 |
Если у вас несколько конфигурационных файлов, то логично предположить что они не связаны. Иначе зачем несколько? По моему, проблема решится на архитектурном уровне.
|
|||
|
||||
| Cynede |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 15.11.2012 Репутация: нет Всего: 1 |
Это в какой церкви? Ну много зачем может быть так |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |