альтернативный способ хранения больших динамических объектов вместо сессии - PullRequest
1 голос
/ 29 марта 2011

У меня есть веб-приложение, разработанное в .net 2.0. Я храню большие бизнес-объекты в сеансе, которые часто меняются.

Иногда я наблюдаю ошибку сервера.Это вызывает ошибку?

Есть ли альтернативный способ хранения этих объектов?

Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 29 марта 2011

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

Ваша текущая архитектура, использующая сеанс, в конечном итоге будет иметь проблемы с масштабированием, если только вы не сохраните данные сеанса в базе данных, поэтому вы также можете получить данные из базы данных в первую очередь.

0 голосов
/ 29 марта 2011

На основании предоставленных вами данных не похоже, что проблема связана с производительностью.

На «Ошибка ссылки на объект не установлена».Мне кажется, что есть проблема синхронизации потоков.Объект сеанса извлекается и используется во время / до того, как вы пытаетесь установить объект (ы) сеанса на значение из вашего вызова службы.Вы можете добавить синхронизацию потоков (ReaderWriterLock?), Чтобы увидеть, минимизирует ли это ошибку.

0 голосов
/ 29 марта 2011

Сохранение данных в базе данных от пользователя к пользователю.

EDIT

Кэшируйте результаты, если вы хотите читать каждые 5 секунд.

Не может быть решением, хотя.

...