代码之家  ›  专栏  ›  技术社区  ›  asawyer

静态属性在asp.net环境中如何工作?

  •  17
  • asawyer  · 技术社区  · 14 年前

    换句话说,如果第二个用户加载页面并设置静态属性,那么每个用户是否都有一个不同的值,或者都使用第二个用户的值?

    4 回复  |  直到 7 年前
        1
  •  17
  •   Bob    14 年前

    静态对于应用程序域是唯一的,该应用程序域的所有用户将为每个静态属性共享相同的值。当你看到static这个词时,想想“只有一个实例”,这个实例持续多长时间是一个单独的问题,但简短的回答是它是可变的。

    如果要存储特定于用户的值,请查看 Session State .

        2
  •  3
  •   Erv Walter    14 年前

    该值将一直存在,直到ASP.NET工作进程循环自身(这是定期发生的)。

        3
  •  3
  •   Protector one reece    12 年前

    除了鲍勃的回答,当然还有一个例外:

    public static object Item {
        get { return HttpContext.Current.Session["some_key"]; }
    }
    
        4
  •  1
  •   Onkelborg    14 年前