Web サイトの 1 つで ASP.NET セッション状態サーバーを使用しています。ユーザーオブジェクトは頻繁に使用されるため、セッションに入れました。
次のコード フラグメントを検討してください。
DoSomething(SessionUser.Me.UserID)
DoSomeMore(SessionUser.Me.UserName)
SessionUser.Me は、次のようなことを行う静的プロパティです。
return (SessionUser)Session["currentuser"];
ここで、SessionUser.Me に 2 回 (DoSomething と DoSomeMore) アクセスするので、.NET は状態サーバーへの 2 回のラウンドトリップと 2 回の逆シリアル化を行わないほどスマートですか?
言い換えれば、私がやった場合、パフォーマンスは同等です:
var user = SessionUser.Me;
DoSomething(user.UserID)
DoSomeMore(user.UserName)
?