【C#】【asp.net内置对象】Application对象

Application对象

Application对象用于共享应用程序级信息,即多个用户共享一个Application对象。在第一个用户请求asp.net文件时,Application对象启动并创建,直到程序关闭。Application对象是用于启动和管理asp.net应用程序的主要对象。


存储和获取数据的基本语法

Application对象可以存储多个对象信息,但要求这些对象信息的Key是不同的。

添加一条数据

1、通过Add方法,格式:

Appliction.Add("name1","value1");

Add方法的第一参数为数据信息的Key,第二个参数是数据信息的值。

2、通过对象的索引器直接添加,格式:

Application["name1"] = "value1";
更新已有数据

1、通过Set方法更新,格式:

Application.Set("name1","value1");

2、通过对象索引器,格式:

Application["name1"] = "value1";
获取一条数据

方式1:

Application.Get("name1");

方式2:

Appcliation["name1"];
加锁和解锁

由于Application的作用域是全局应用程序的,所以在每一次更新时,为了避免多用户更新冲突,应该在更新前后执行加锁和解锁的动作,方法如下:

Application.Lock();		//加锁
Application.UnLock();	//解锁

Application对象的基本使用——网站访问计数器

记录网站被访问次数的组件。当前用户访问网站时将计数器+1,相反,如果用户退出了网站,再将计数器-1,以下是具体步骤:

1、新建一个网站,点击Global.asax文件,打开这个文件,然后在Application_Start方法中将计数器变量初始化为0

        protected void Application_Start(object sender, EventArgs e)
        {
            Application["count"] = 0;       //在应用程序启动时运行的代码
        }

2、当有新的用户访问网站时,将会一个新的Session对象,[Session对象的使用请点击我!]同时会调用Seesion_Start方法,为了防止多个用户同时访问页面造成并行,所以将Application对象加锁,同时将访问人数+1,代码:

        void Session_Start(object sender,EventArgs e)
        {
            Application.Lock();
            Application["count"] = (int)Application["count"] + 1;
            Application.UnLock();
        }

3、当用户退出该网站的时候,将关闭该用户的Session对象,同时对Application对象加锁,然后将访问人数-1,代码:

        //在会话结束后运行的代码
        void Session_End(object sender,EventArgs e)
        {
            /*
                注意:只有在Web.config文件中的seesionstate模式设置为InProc时
                才会引发Seesion_End事件,如果会话模式设置为StateServer或SQLServer,则不会引发该事件
             */
            Application.Lock();
            Application["count"] = (int)Application["count"] - 1;
            Application.UnLock();
        }

4、创建一个Default.aspx页面,然后用一个Label控件,用于显示访问人数

添加Label控件:

            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

绑定Label控件来显示文本:

protected void Page_Load(object sender, EventArgs e)
{
	Label1.Text = "您是该网站的第" + Application["count"].ToString() + "个访问者";
}

效果:
在这里插入图片描述


发布了177 篇原创文章 · 获赞 282 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/lesileqin/article/details/103540109