Тестовое задание к собеседованию Junior ASP.NET MVC, need help?
Всем привет! Буду рад любой помощи и совету. Ситуация такая: компания дала тестовое задние перед собеседование на Junior ASP.NET MVC Developer. Дословно:
"Разработать ASP.Net MVC приложение с одной страницей, которая имеет textbox для сообщения и кнопку. По нажатию на кнопку происходит отправка и запоминание сообщения на сервере (хранение сообщений должно работать автономно, без использования сервера баз данных). Реализовать возможность просмотра сообщений текущего пользователя и всех пользователей системы. Страницу вывода всех сообщений пользователей сделать с сортировкой сообщений пользователей по ID или по времени. На сервере запоминается 10 последних сообщений (по умолчанию) для каждого юзера и 20 последних сообщений (по умолчанию) для всех юзеров. Каждому пользователю должен быть присвоен ID – либо автоматически либо вручную. Наличие хотя бы минимального дизайна и использование AJAX технологий приветствуется.".
По поводу фразы в задании. А именно: хранение сообщений должно работать автономно, без использования сервера баз данных. Т.е. я понимаю это так - сообщения должны храниться не в хранилище в базе данных а локально в программе, например в объекте Session. Но тогда у меня возникает проблема и я не могу реализовать просмотр сообщений всех пользователей конкретным (можно получить доступ только к объекту Session текущего пользователя, а к объекту другого пользователя нельзя), а что касается отображения сообщений одного текущего пользователя, то тут конечно никаких проблем нету. Может я не правильно понимаю, или тут дело в другом? В проекте я сделал аутентификацию форм, и в ручную добавил пользователей через Code First, в итоге страница защищена авторизацией и каждый пользователь имеет ид. Что можно ещё использовать, кроме Session? Как быть?
Буду благодарен за любой совет!!!
Можно использовать SQLite или тому подобную встраиваемую базу данных, ещё можно сохранять в файлы. Лучше использовать SQLite в таких случаях т.к. с ней можно работать как с обычной БД.
Если вся трудность заключается в хранении инфы не в sql бд - тут на помощь статическое хранилище, определенное в Global.asax. Оно будет доступно в любом месте приложения через MVCApplication.ИмяХранилища
По поводу ограничений для каждого пользователя и общее по пользователям - тут либо заводить на каждого юзера экземпляр хранилища - либо пилить логику добавления и доставания из общего :) Интересное задание для джуниора :)