Привет,
У меня есть представление, которое содержит некоторые поля ввода, некоторые из этих полей являются обычными файлами ввода.При отправке этой формы просмотра файлы будут сохранены во временной папке.Но если на стороне службы обнаружена проблема проверки, будет возвращено то же представление (для обновления).Проблема заключается в том, что входные данные файла не будут заполняться снова (безопасность), и вместо этого мне нужно расширить видовой класс и показать небольшой эскиз сохраненных файлов, а также сделать возможным удаление (чтобы иметь возможность загрузить другой файл вместо этого).
Когда пользователь снова нажмет «Отправить», класс просмотра не будет содержать никаких данных о сохраненных файлах.Как лучше всего это использовать?
Моя собственная мысль заключается в следующем:
- Используйте скрытые поля, но это будет сложно, когда класс для хранения сложен, и это будеттакже не быть защищенным.
- Использовать Session для хранения данных, я не вижу, является ли это хорошим или плохим решением?
- Создать класс Singelton (например, кеш), где все этоданные будут сохранены временно.В ASP.NET был кэш, в котором можно было установить время до освобождения чаша, это будет работать точно так же.
- Сохранить объявление как временное в базе данных, это будет означать, что когда представление возвращает егодействительно редактирование созданного объявления вместо редактирования временного объявления (не в базе данных).Проблема может заключаться в том, что если пользователь прерывает работу после первой проверки службы, у нас будет объявление, которое не заполнено в базе данных.Еще один минус в том, что количество идентификаторов (идентификатор) будет увеличено, даже если реклама никогда не используется.И последняя проблема, связанная с этим решением, состоит в том, что таблица объявлений будет содержать неполные объявления.
Совет по просьбе
Мое решение: В итоге я использовал System.Web.Cache для хранения данных между запросами.Когда объявление создано и принято, оно будет удалено из кеша и добавлено в базу данных.