Как сохранить временные данные от одного запроса к другому в MVC - PullRequest
1 голос
/ 25 января 2010

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

Как лучше хранить временные данные от одного запроса к другому? Данные могут занять до 10 мег.

Ответы [ 3 ]

1 голос
/ 25 января 2010

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

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

0 голосов
/ 25 января 2010

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

10 Мб для сеанса слишком велико, но отправка его в базу данных - пустая трата ресурсов. Сохранение в файл будет самым легким и быстрым способом для временных данных.

0 голосов
/ 25 января 2010

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

...