давайте предположим, что у меня есть многократно используемый бизнес-уровень, который дополнительно использует уровень доступа к данным, который был реализован с использованием Entity Framework 4.0.Субъекты, возвращаемые / потребляемые бизнес-уровнем, являются самоконтролируемыми, что позволяет нам получить все полезные свойства, которые идут с сущностями такого типа.
Я хотел бы иметь возможность хранить сущности, с которыми я работаю, в почтовых отделениях (чтобы избежать повторных запросов каждый раз).По сути, давайте предположим, что у меня есть страничный GridView с 10 элементами в нем, и что-то вроде DetailsView для редактирования этих элементов.Каждый раз, когда вы выбираете новую строку в сетке, представление сведений обновляется информацией о выбранной строке.Я бы предпочел только запрашивать сущности по начальному запросу страницы и сохранять их в сеансе.Затем впоследствии у меня есть список сущностей, с которыми я могу работать, и в конечном итоге изменить и отправить обратно на бизнес-уровень со всеми изменениями.
Я действительно хочу использовать сессию вместо состояния просмотра, чтобы уменьшить полезную нагрузку на страницу(Самообследуемые объекты тяжелы), однако мне очень нравится состояние просмотра для этого из-за того факта, что когда пользователь уходит со страницы, остаточный эффект отсутствует.
Некоторые вещи, которые меня беспокоят:
- Когда пользователь уходит со страницы на другую страницу, сущности с предыдущей страницы все еще находятся в сеансе.Я всегда мог что-то сделать при загрузке страницы, чтобы выполнять домашнюю работу.Не уверен, что это хорошая практика.
- Я беспокоюсь о том, что люди открывают вкладки браузера и имеют два просмотра на одной странице, кажется, что это может создать проблему.
- Это даже хорошо?подход?Похоже, что я пытаюсь получить лучшее из всех миров, определенно было бы намного проще просто повторно запросить в каждом сообщении сущности и заплатить 50-100 мс за поездку базы данных.
Ваши мысли очень ценятся.