ASP.NET中使用Application对象实现简单在线人数统计功能

注:最近在复习ASP.NET,为了加深印象,会制作一些小的demo程序,分享给大家。

1 新建ASP.NET网站,编辑Global.asax文件,修改后的文件内容如下所示。

<%@ Application Language="C#" %>

<script runat="server">

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

  void Application_End(object sender, EventArgs e)
  {
    // 在应用程序关闭时运行的代码

  }

  void Application_Error(object sender, EventArgs e)
  {
    // 在出现未处理的错误时运行的代码

  }

  void Session_Start(object sender, EventArgs e)
  {
    // 在新会话启动时运行的代码
    Application.Lock();
    Application["CurrentUserCount"] = (int)Application["CurrentUserCount"] + 1;
    Application.UnLock();
  }

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

</script>

2 修改Web.config文件,增加如下配置节点,新增的配置节点位<system.web></system.web>节点下。

代码如下:

<sessionState mode="InProc" timeout="1" cookieless="false"/>

3 在Default.aspx文件中添加一个标签来显示当前在线人数。

代码如下:

protected void Page_Load(object sender, EventArgs e)
{
    this.Label1.Text = Application["CurrentUserCount"].ToString();
}

4 先后使用IE和Chrome浏览器访问应用,得到下图所示结果。

(0)

相关推荐

  • 用c#获得当前用户的Application Data文件夹位置

    用   Environment   类: string   path   =   Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);      MessageBox.Show(path);

  • ASP.Net的Application介绍

    在ASP.Net中Application用法与ASP是一样的,几乎是没有什么说的,但是它多了两个特别有用的事件,Application_OnBeginRequest和Application_OnEndRequest.他们的和原来的Application_OnStart和Application_OnEnd一样是放在global文件中的(注意这个文件在ASP中名字是global.asa,在ASP.Net中是global.asax). Application_OnStart是在整个ASP.Net应用首

  • ASP.NET中application对象的使用介绍

    Application对象的应用 1.使用Application对象保存信息 (1).使用Application对象保存信息 Application("键名") = 值 或 Application("键名",值) (2).获取Application对象信息 变量名 = Application("键名") 或:变量名 = Application.Item("键名") 或:变量名 = Application.Get("键

  • ASP.NET内置对象之Application对象

    新建一个网站,包括两个网页,代码如下: 1.Index.aspx代码:  复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx.cs" Inherits="Index" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&

  • ASP.NET 中的Application详解

    一.全局应用程序类 从Application这个单词上大致可以看出Application状态是整个应用程序全局的.在ASP时代我们通常会在Application中存储一些公共数据,而ASP.NET中Application的基本意义没有变:在服务器内存中存储数量较少又独立于用户请求的数据.由于它的访问速度非常快而且只要应用程序不停止,数据一直存在,我们通常在Application_Start的时候去初始化一些数据,在以后的访问中可以迅速访问和检索. Global.asax 是一个用来处理应用程序全

  • ASP.NET C#中Application的用法教程

    Application对象 Application对象生存期和Web应用程序生存期一样长,生存期从Web应用程序网页被访问开始,HttpApplication类对象Application被自动创建,直到没有一个网页被访问时结束,Application对象被自动撤销.因此Application对象中的变量也有相同生存期,并且变量可以被Web应用程序中的所有网页访问.因此,可以在Application对象中建立一些全局的公用变量,由于存储在Application对象中的数值可以被应用程序的所有网页读

  • ASP.NET 使用application与session对象写的简单聊天室程序

    ASP.Net中有两个重要的对象,一个是application对象,一个是session对象. Application:记录应用程序参数的对象,该对象用于共享应用程序级信息. Session:记录浏览器端的变量对象,用来存储跨网页程序程序的变量或者对象. 说实话,写了快一年的asp.net,application对象还真没怎么用过.看了看书,根据这两个对象的特性写了一个简单的聊天室程序.真的是非常的简陋. 我的思路是,有两个页面Default页和ChatRoom页,页面布局如图: Default

  • ASP.NET中Application全局对象用法实例浅析

    本文实例讲述了ASP.NET中Application全局对象用法.分享给大家供大家参考.具体如下: Application是应用全局对象,被全体共享.无论通过哪个页面操作Application,另一个页面都可以读取Application信息. 由于Application是共享的,操作之前先Lock,操作完成后UnLock. 在一个页面设置数据: Application.Lock(); Application.Set("address", "上海"); Applica

  • ASP.NET中使用Application对象实现简单在线人数统计功能

    注:最近在复习ASP.NET,为了加深印象,会制作一些小的demo程序,分享给大家. 1 新建ASP.NET网站,编辑Global.asax文件,修改后的文件内容如下所示. <%@ Application Language="C#" %> <script runat="server"> void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 Applicati

  • js中遍历Map对象的简单实例

    实例如下: console.log(jsonData);//火狐控制台打印输出: Object { fileNumber="文件编号", fileName="文件名称"} for(var key in jsonData) console.log("属性:" + key + ",值:"+ jsonData[key]); } 打印输出: 属性:fileNumber, 值:文件编号 属性:fileName, 值:文件名称 以上这篇j

  • Asp.net 中mvc 实现超时弹窗后跳转功能

    为了实现保持登录状态,可以用cookie来解决这一问题 假设过期时间为30分钟,校验发生在服务器,借助过滤器,可以这样写 public class PowerFilter : AuthorizeAttribute { public override void OnAuthorization(AuthorizationContext filterContext) { var cookie = HttpContext.Current.Request.Cookies["loginInfo"]

  • Java基于Scanner对象的简单输入计算功能示例

    本文实例讲述了Java基于Scanner对象的简单输入计算功能.分享给大家供大家参考,具体如下: 问题及代码: /* *Copyright (c)2015,西南大学计信院 *All rights reserved. *文件名称:Computearea.java *作 者:高硕 *完成日期:2015年10月14日 *版 本 号:v1.0 *问题描述:输入半径求面积. *程序输入:半径. *程序输出:面积. */ package practice_01; import java.util.Scann

  • Yii中的relations数据关联查询及统计功能用法详解

    本文实例讲述了Yii中的relations数据关联查询及统计功能用法.分享给大家供大家参考,具体如下: 关联查询,Yii 也支持所谓的统计查询(或聚合查询). 它指的是检索关联对象的聚合信息,例如每个 post 的评论的数量,每个产品的平均等级等. 统计查询只被 HAS_MANY(例如,一个 post 有很多评论) 或 MANY_MANY (例如,一个 post 属于很多分类和一个 category 有很多 post) 关联对象执行. 执行统计查询非常类似于之前描述的关联查询.我们首先需要在 C

  • asp.net中实体类对象赋值到表单的实现代码

    有一个问题就是 :表单名称和对象的属性名(我是属性赋值 你也可以用字段)要保持一样,,有点不安全,不过后台用挺好的,在说填写表单数据后台用的比较多 复制代码 代码如下: using System; using System.Data; using System.Configuration; using System.Collections; using System.Collections.Generic; using System.Reflection; using System.Collec

  • 在ASP.NET中连接SQL Server的简单方法

    首先导入名字空间:System.Data和System.Data.SqlClient.详细代码看源程序. 复制代码 代码如下: <%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Data.SqlClient" %><html><script language="C#" runat="server">

  • ASP.NET中DropDownList和ListBox实现两级联动功能

    DropDownList和ListBox实现两级联动功能,它们可以将从后台数据库中搜选的出来的信息加以绑定,这里要实现的功能是在DropDownList中选择"省",然后让ListBox自动将其省份下的"市"显示出来,这就是所谓的两级联动功能,这个功能我们在很多注册网页上看见,今天就为大家解开ASP.NET神秘的面纱. 一.设置前台界面,在Web窗体中添加DropDownList和ListBox两个控件. 界面图如下所示. 二.编写后台代码 在这,后台代码编写在其窗

  • 浅谈ASP.NET中MVC 4 的JS/CSS打包压缩功能

    今天在使用MVC4打包压缩功能@Scripts.Render("~/bundles/jquery") 的时候产生了一些疑惑,问什么在App_Start文件夹下BundleConfig.cs文件内 bundles.Add(new ScriptBundle("~/bundles/jquery").Include( "~/Scripts/jquery-{version}.js", "~/Scripts/jquery.unobtrusive-a

随机推荐