ASP.NET菜鸟之路之Application小例子

11/25/2015来源:ASP.NET技巧人气:5050

背景

  • 我是一个asp.net菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了。

    session介绍

  • application对象用来保存对所有用户共享的信息,比如网站登录人数。
  • 在修改Application对象的时候,需要lock unlock,防止同时操作导致出现问题。
  • Application对象成员的生命周期止于关闭IIS或使用Clear方法清除。
  • Application传值

  • 介绍一下Application记录进入网站的人数
  • 新建一个全局变量文件,即Globle.asax,分别在三个事件中写入代码
  • void Application_Start(object sender, EventArgs e) 
        {
            // 在应用程序启动时运行的代码
            Application["CusCount"] = 0;
        }
    
     void Session_Start(object sender, EventArgs e) 
        {
            // 在新会话启动时运行的代码
            Application.Lock();
            Application["CusCount"] =(int) Application["CusCount"] + 1;
            Application.UnLock();
        }
    
    void Session_End(object sender, EventArgs e) 
        {
            // 在会话结束时运行的代码。 
            // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
            // InPRoc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
            // 或 SQLServer,则不引发该事件。
            Application.Lock();
            Application["CusCount"] = (int)Application["CusCount"] - 1;
            Application.UnLock();
        }

    然后编写新建一个web窗体,写入方法

    protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write("欢迎你,第" + Application["CusCount"] + "位顾客<br/>");        
        }

    介绍一下Application按照索引取出数据

    使用上一个页面,写入方法

  • protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write("欢迎你,第" + Application["CusCount"] + "位顾客<br/>");
            Application.Add("Key1", "Value1");
            Application.Add("Key1", "Value1");
            Application.Add("Key1", "Value1");
    
            for (int index = 0; index < Application.Count; index++)
            {
                Response.Write(Application.GetKey(index) + ": ");
                Response.Write(Application.Get(index) + "<br/>");
            }
        }
  • 页面这样展示

    image