Asp.net 访问会话值的成本

Asp.net 访问会话值的成本,asp.net,.net,Asp.net,.net,访问会话值是否有成本?我想除了查字典的费用之外。也许每次访问会话时都会对其进行反序列化 例如,我看到一些人将会话值放入变量中 _sessionValue = CType(Session(SESSION_NAME), SomeClass) _sessionValue.SomeFunction1() _sessionValue.SomeFunction2() 和其他人创建一个属性 Public ReadOnly Property SessionValue As SomeClass Get

访问会话值是否有成本?我想除了查字典的费用之外。也许每次访问会话时都会对其进行反序列化

例如,我看到一些人将会话值放入变量中

_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()

我想知道这两种方法在速度上是否有显著差异,或者是否推荐其中一种方法。首先,这些代码示例只是将会话对象强制转换为类型。这将在使用对象的代码中完成。好处是有一个页面属性,您可以在任何方法中轻松使用。除非调用该属性,否则会话对象不会被读取并强制转换为类型

您应该自己决定是否使用私人或公共成员。属性和成员之间实际上没有任何区别

您可以阅读如何快速设置会话状态

有关会话对象序列化和反序列化的详细信息,请查看较旧的帖子。

可能重复的