我正在为我的一个网站使用 ASP.NET 会话状态服务器。我将一个用户对象放在会话中,因为它被使用了很多。
考虑以下代码片段:
DoSomething(SessionUser.Me.UserID)
DoSomeMore(SessionUser.Me.UserName)
SessionUser.Me 是一个静态属性,它的作用类似于:
return (SessionUser)Session["currentuser"];
现在因为我访问 SessionUser.Me 2 次(DoSomething 和 DoSomeMore)是 .NET 足够聪明,不会对 stateserver 进行 2 次往返并反序列化 2 次?
换句话说,如果我只是这样做,它的性能是否相同:
var user = SessionUser.Me;
DoSomething(user.UserID)
DoSomeMore(user.UserName)
?