2011-01-05 3 views
1

У нас есть сеансы ASP.NET, которые сохраняются на центральном сервере SQL. Таким образом, теперь все данные сеанса вынуждены перемещаться по каналу на SQL-сервер, даже если это просто тривиальная информация. Могу ли я смешивать сеансы, т.е. Храните SQL для сеанса ["abc"] = "value" и перезаписывайте локальные файлы, например session.AddLocalMemory ["xyz"] = "blah".Смешение сеанса ASP.NET

ответ

3

Не с любым из встроенных поставщиков. Вы можете добавить метод расширения для HttpSession и использовать его для локального хранения материала. Это можно сделать, просто вставив сумку состояний в кеш памяти ASP .NET с тайм-аутом.

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

+0

Согласен. Чтобы добавить еще один момент, нужно быть осторожным: потеря локальных данных сеанса не ограничивается балансировкой нагрузки, а также регулярно вызвана переработкой процессов. Еще одна вещь, чтобы рассмотреть вопрос о том, будет ли такое смешивание понятным для будущих разработчиков системы - и насколько болезненным переходом от локального к хранилищу SQL для конкретных элементов будет (SQL/out из состояния процесса требует, чтобы объекты были сериализуемыми, что часто бывает не так) для вещей, которые вы бросаете в местное состояние ...) –

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