注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 获取当前页面路径,实现权..
 帮助

ASP.NET基础教程-服务器全局会话Application对象的使用


版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://chenxing.blog.51cto.com/240526/44989
Application用于保存所有用户共用的数据信息。在ASP中,如果被保存的数据在应用程序的生存期中根本不会改变或者很少改变,那么使用Application对象保存是理想的选择。但是在ASP.NET中类似的配置数据最好保存在Web.config文件中。如果使用Application对象,一个需要考虑的问题是任何写操作都要在Application_OnStart事件(global.aspx)中完成。尽管使用Application.Lock和Application.Unlock方法来避免写操作的同步,但是它串行化了对Application对象的请求,当网站访问量大的时候会产生严重的性能瓶颈。因此最好不要用此对象保存大的数据集。
使用Application对象保存信息的代码如下:
在Global.asax文件中
protected void Application_Start(Object sender, EventArgs e)
{
   Application["zxrs"]=0;
}
protected void Session_Start(Object sender, EventArgs e)
{
  Application.Lock();
  Application["zxrs"] =(Int32)Application["zxrs"]+1;
  Application.UnLock();
}
protected void Session_End(Object sender, EventArgs e)
{
    Application.Lock();
    Application["zxrs"] =(Int32)Application["zxrs"]-1;
    Application.UnLock();
}
注:计算出的在线人数在一定时间段内是准确的,如果要获取精确的在线人数,可以将登录信息存储在后台数据库中或者读取当前会话集中对象的数量




    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: