Как сохранить данные в памяти в веб-приложении asp.net MVC2? - PullRequest
0 голосов
/ 25 августа 2010

У меня есть веб-приложение MVC2 без базы данных, размещенной на IIS7.Модель представляет собой пользовательский индекс некоторых свойств файловой системы, и сейчас этот индекс хранится в памяти.Проблема в том, что на регулярной основе данные, хранящиеся в памяти, освобождаются, и индекс должен быть пересоздан.Возможно, лучшим решением было бы сериализовать индексный объект и загрузить его, когда индекс выйдет, но было бы намного проще, если бы я мог предотвратить перемещение данных куда-либо.

Ответы [ 2 ]

1 голос
/ 25 августа 2010

Каждый раз, когда в течение определенного промежутка времени не выполняется никаких действий, или IIS перезапускает процесс, в котором вы потеряете какие-либо данные в памяти, поэтому, если вам потребуется эта информация, вам необходимо каким-то образом ее сохранить и извлечь, память очищена.

Рассматривали ли вы эти данные в постоянном XML-файле или сериализовали в файл на сервере?

Если он очищается из памяти, вы можете проверить это, а затем просто загрузить файл обратно в кеш приложения.

0 голосов
/ 25 августа 2010

Чтобы данные выжили, вам придется переместить их за пределы IIS - и это означает или хранилище XML (в App_Data, изолированное хранилище или где-то еще), базу данных или службу.

Я упоминаю об услуге, потому что, хотя она потенциально излишняя, я полагаю, что с этими данными нужно также позаботиться?Удаление устаревших записей, добавление новых записей и вообще ведение домашнего хозяйства?Помещение всего этого в службу позволяет данным сохраняться за пределами IIS (но будьте осторожны, как далеко это зашло, поскольку в какой-то момент вы, возможно, просто заново изобретаете некоторые аспекты сервера базы данных).

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