Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подгрузка небольшого xml-файла, Подгружать каждый раз или кэшировать? 
V
    Опции темы
ДобренькийПапаша
Дата 10.8.2011, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



Вот есть xml-файл настроек. Есть много методов в классе, которые с ним работают как с базой: что-то выдёргивают, что-то записывают.
Каждый раз вызывать XDocument.Load() в каждом методе, или как-то кэшировать (а как? и если кэшировать, то как быть уверенным в актуальности состояния закэшированного объекта?).

В общем как сделать "правильным" способом? smile


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
kobra
Дата 10.8.2011, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 1
Всего: 9



Цитата(ДобренькийПапаша @  10.8.2011,  10:59 Найти цитируемый пост)
и если кэшировать, то как быть уверенным в актуальности состояния закэшированного объекта?

если с фаилом будет работать болше одного приложения, то кешировать не получится.
PM MAIL   Вверх
ДобренькийПапаша
Дата 10.8.2011, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



Цитата(kobra @  10.8.2011,  13:12 Найти цитируемый пост)
если с фаилом будет работать болше одного приложения, то кешировать не получится. 

Нет, не будет.


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
kobra
Дата 10.8.2011, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 1
Всего: 9



Цитата(ДобренькийПапаша @  10.8.2011,  13:22 Найти цитируемый пост)
Нет, не будет. 

тагда в чем проблема? 

PM MAIL   Вверх
jonie
Дата 11.8.2011, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



потому что те, кто обращается к конфигу вообще ничего не должны знать про app.config - у них должно быть API в виде класса конфигурации (например). Типа App.Configuration.DBConnectionString {get;} - а уж что внутрях их волновать не должно - ну и там как раз кеширование будет.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
ДобренькийПапаша
Дата 11.8.2011, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



Я ещё маленький и глупенький. Меня интересовал вопрос: а как кэшировать? smile
Стыдно, конечно, каюсь smile


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
jonie
Дата 11.8.2011, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



Цитата(ДобренькийПапаша @  11.8.2011,  11:55 Найти цитируемый пост)
Меня интересовал вопрос: а как кэшировать? smile

Код

public string ConnectionString
{
 get 
 {
   if(_connectionString == null) _connectionString = ....;
   return _connectionString;
 }
}
например так.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
ДобренькийПапаша
Дата 11.8.2011, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: нет
Всего: 7



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


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0628 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.