我有以下代码,似乎按预期工作,但想确认是否有人做过类似的事情,而且我实际上正在接受我认为我得到的行为。
public class Foo
{
public int Id { get; set; }
public string Bar { get; set; }
}
public class SomeWebFormsAspxCodeBehind : System.Web.UI.Page
{
public List<Foo> Foos
{
get
{
if (Session["MyFoos"] == null)
Session["MyFoos"] = new List<Foo>();
return (List<Foo>)Session["MyFoos"];
}
set
{
Session["MyFoos"] = value;
}
}
public void AddItemToListInSession(Foo foo)
{
this.Foos.Add(foo);
}
}
此代码似乎正常运行,我将Foos
绑定到数据视图源并获得我的预期结果。
但是有没有&#34;陷阱&#34;在List
中存储Session
时,我需要留意?当列表位于List
时,.Add
(如Session
)的所有功能如何继续有效?这种行为是在[{1}}或List
中还是两者的组合中抽象出来的?