asp.net中,多个用户同时访问一个页面,那全局静态变量(public static)会被共用吗?如果是的话,那就太可怕了。

解决方案 »

  1.   

    既然是public static的变量,那无论任何操作都是访问同一个静态成员,所以会共用.所以不推荐申明过多的静态变量,除非你十分明确自己在做什么.
      

  2.   

    建议需要的时候枷锁: 
    lock(this)
    {
    yourcode;}
      

  3.   

    一般这么玩http://msdn.microsoft.com/en-us/library/system.web.ui.page.application.aspxvoid Page_Load(object sender, EventArgs e ) {    DataView Source = (DataView)(Application["Source"]);
        MySpan.Controls.Add(new LiteralControl(Source.Table.TableName));
        MyDataGrid.DataSource = Source;
        MyDataGrid.DataBind(); 
    }
      

  4.   

    8楼,你是来搞笑的吗给你个例子看看,会不会
       <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button1"
                runat="server" Text="Button" onclick="Button1_Click" />
        </div>
        </form>
        public partial class _Default : System.Web.UI.Page
        {
            public static int ICount;
     
            protected void Button1_Click(object sender, EventArgs e)
            {
                ICount++;
                Response.Write(ICount.ToString());
            }
        }