當在頁面屬性中包裝我的會話變量時,是否有意義將值保存到本地變量中並且傾向於從那裏調用值?會話調用的成本?
private Foo MySessionFoo
{
get
{
if (_localFoo == null)
_localFoo = Session["MySessionFoo"] as Foo;
return _localFoo;
}
set
{
Session["MySessionFoo"] = _localFoo = value;
}
}
假設我使用InProc會話模式,而不是基於SQL的,這有什麼區別noticable或做額外的儲蓄和實際檢查傷害了我的表現超過了它幫助?
應該我寧願做
private Foo MySessionFoo
{
get
{
return Session["MySessionFoo"] as Foo;
}
set
{
Session["MySessionFoo"] = value;
}
}
如果您在同一回發期間訪問該變量,將工作正常,否則每次都會執行查找! – abatishchev