0

我计划开始将 Out-Of-Proc 会话状态(使用 NCACHE)用于会话密集型的 Web 应用程序(许多东西可以降级为视图状态)。我们需要做的初步审查有点简单(只需验证插入了哪些对象),但困难的部分是验证如果有人从会话中获取对象然后更新对象会发生什么。问题:该对象会自动更新会话包吗?还是我必须用新的更新版本再次更新会话包?如果使用 State Server 与 Sql Server 有区别吗?

只是一些基本的例子:

    private void Page_Load(object sender, System.EventArgs e)
    {
            MyClass c = (MyClass)Session["c"];
            if (c != null)
                Response.Write(c.Comments);

            if (!Page.IsPostBack)
            {
                c = new MyClass();
                c.Comments = "No Postback " + DateTime.Now.ToString("hhmmssff");
                Session["c"] = c;
            }
            else
            {
                c = (MyClass)Session["c"];
                if (c != null)
                {
                    c.Comments = "Postback " + DateTime.Now.ToString("hhmmssff");
                }
            }
    }

我相信上面的代码不会更新会话(所以在以后的回发中,我总是会看到相同的值)。然而,确实如此!!!!所以我不确定为什么?我读了很多人说会话没有更新的 url,他们需要做一个明确的覆盖。

我正在做的测试是一个 ASPNET1.1 Web 应用程序,其中状态服务器配置为我的 LAN IP 地址(不是 localhost 或 127.0.0.1)。

谢谢你的关注,KAT LIM

4

0 回答 0