2015-05-20 4 views
1

Есть ли стоимость доступа к значению сеанса? Помимо стоимости доступа к (я полагаю) словарю. Может быть, сеанс десериализован каждый раз, когда к нему обращаются.Стоимость доступа к значению сеанса

Например, я видел, как некоторые люди помещают значение сеанса в переменную.

_sessionValue = CType(Session(SESSION_NAME), SomeClass) 

_sessionValue.SomeFunction1() 
_sessionValue.SomeFunction2() 

И другие создают свойство

Public ReadOnly Property SessionValue As SomeClass 
    Get 
     Return CType(Session(SESSION_NAME), SomeClass) 
    End Get 
End Property 

SessionValue.SomeFunction1() 
SessionValue.SomeFunction2() 

Интересно, есть ли существенная разница в скорости между двумя или если один рекомендуется от другого.

+0

Возможный дубликат [Является ли переменная, хранящаяся в сеансе десериализованной один или несколько раз в течение жизненного цикла страницы?] (Http://stackoverflow.com/questions/2150153/is-a-variable-stored-in-session-deserialized -После или многодисковые разы-в течение-а) –

ответ

0

Пара вещей здесь. Во-первых, эти примеры кода делают не что иное, как приведение объекта сеанса к типу. Это будет сделано в любом случае в коде с использованием объекта. Преимущество в том, что есть свойство страницы, которое вы можете легко использовать в любом методе. Объект сеанса не будет считан и выбран как тип, если вы не вызываете вызов этого свойства.

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

Вы можете прочитать на создание состояния сеанса быстрого here.

Для получения дополнительной информации о seralizing и deserializng сеанса объектов проверка this старой записи.

Смежные вопросы