在Session中操作List <foo>

时间:2015-07-06 12:19:19

标签: c# asp.net session webforms

我有以下代码,似乎按预期工作,但想确认是否有人做过类似的事情,而且我实际上正在接受我认为我得到的行为。

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中还是两者的组合中抽象出来的?

0 个答案:

没有答案