2015-07-16 3 views
0

Запрос 1:Статическое свойство потребление памяти запущенного приложения C#

У меня есть веб-приложение с XML-файл, 100 строк примерно; Когда мое веб-приложение работает, мне нужно записать значения в этот xml-файл (дважды) и многократно считывать значения из этого приложения; После того, как все значения обновляются в XML-файле, я попытался прочитать значения в 2 способами,

  1. Я десериализации файл XML и хранить все значения в статическом объекте и использовать его в моем веб-приложение ;

  2. Каждый раз, когда мне нужны данные, я буду разбирать точно соответствующий элемент xml и получить значение;

Мои сомнения:

  • Если я иду с первым подходом, держит значения в статическом объекте, неправильный подход, который может вызвать потребление памяти?

  • Если я следую второму подходу, я часто разбираю xml-файл; Правильно ли это?

Пожалуйста, сообщите, что является правильным подходом для моего случая использования;

+0

Замечание: кэширование сложное, а использование переменных 'static', как правило, является наихудшим вариантом реализации кэширования, особенно в ASP.Net. –

+1

Пожалуйста, не задавайте 2 несвязанных вопроса в одном сообщении. Второй набор должен обязательно дублировать существующий вопрос - обязательно выполните поиск, прежде чем задавать отдельный вопрос ... –

ответ

1

Запрос 1: Вы должны пойти с первым вариантом, который вы упомянули, потому что очень дорого идти каждый раз в XML-файл и получать конкретные данные.

Но Вам не нужно вводить статический объект, вы можете десериализовать его на какую-либо локальную переменную, через которую вы проходите функции или используете глобальную переменную (старайтесь избегать использования глобальных переменных).

Смежные вопросы