Объект с отложенной инициализацией-добавлением в Session или Viewstate - PullRequest
0 голосов
/ 30 октября 2010

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

Мой вопрос заключается в том, что при загрузке страницы, когда я создаю объект customer, если я добавляю объект customer в сеанс как Session [id] = customerObj, я понимаю, что customerObj сериализуется, но означает ли это, что все свойства, которые ленивый инициализируется загружается? Если это так, это лишит смысла использование ленивой инициализации.

Я пытался посмотреть на MSDN, но не смог найти хорошее объяснение того, как эта штука должна работать. Любые вклады с благодарностью. Спасибо!

1 Ответ

0 голосов
/ 18 мая 2011

Вы можете сохранить объект в сеансе несколькими способами:

http://msdn.microsoft.com/en-us/library/h6bb9cz9%28VS.71%29.aspx

Если вы сохраняете объект InProc , он остается в оперативной памяти веб-сервера и не сериализуется и не десериализуется, поэтому свойства не затрагиваются.

Таким образом, нет отложенной загрузки. Ваш объект останется таким же, как вы его оставили, когда вернете его при следующей обратной передаче.

...