Задать вопрос
teoadal
@teoadal
.NET + AS3

Где хранить временные данные в ASP.NET MVC?

Добрый день!

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

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

Однако, тут возникает проблема - Ajax запрос делается асинхронно, т.е. в другом потоке, который не видит объектов расчета из первого потока.

Вопрос: где хранить подобные данные?

Сразу в БД? Но пользователю нужно только одно оборудование из списка подобранного, поэтому встает вопрос как очищать ненужные данные после завершения сеанса. В статическом ConcurrentDictionary? Очистка более простая, но тоже какой-то плохой, как мне кажется, подход. Сразу передавать содержимое всего расчета пользователю? Но элементов может быть 5000+ и страница с результатами начинает весить очень много.

Какие лучшие практики реализации подобного? Куда рыть? Что читать?

Спасибо.
  • Вопрос задан
  • 1403 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
Nipheris
@Nipheris Куратор тега C#
> Сразу в БД?
Почему нет? Только не в основную, а например в Redis (polyglot persistence)
Вы спросите нафига вам оно? Вот вам аргумент :).
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Здравствуйте!
В ASP.NET MVC есть такой объект как TempData, может он Вам подойдет?
Ответ написан
Комментировать
@make_luv
А Viewbag не подойдет?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы