启动后台线程可以用下面的语句:
CheckOnline online=new CheckOnline();

用户可以将它放到GLOBAL。ASAX中,我是没有了,只放到了一个ASPX文件中做简单的测试。如下

//start.aspx

<%@ Page Language="c#" autoEventWireup=true Debug="true" %>
<%@ Assembly Name="Soholife" %>
<%@Import Namespace="System"%>
<%@Import Namespace="Soholife"%>
<%@Import Namespace="System.Collections"%>

<script runat="Server" Language="C#">
void Page_Load(Object sender, EventArgs args)
{
    CheckOnline online=new CheckOnline();
}

</script>

<html><head>
<style type="text/css">
    td{font-size:12;}
    .bgcolor{background:#ffffcc;}
</style>
</head>
<body><center>

</center></body></html>

而我们还需要一个程序来显示当前在线拥护的数据,程序如下:

//online.aspx

<%@ Page Language="c#" autoEventWireup=true Debug="true" %>
<%@ Assembly Name="Soholife" %>
<%@Import Namespace="System"%>
<%@Import Namespace="Soholife"%>
<%@Import Namespace="System.Collections"%>

<script runat="Server" Language="C#">
void Page_Load(Object sender, EventArgs args)
{
    OnLineUser temp= new OnLineUser();
   
    ArrayList alluser =temp.alluser;
    string str="";
    str += "<tr bgcolor=#ffff99>";
    str += "<td width=100 align=center class="coolbar">用户</td>";
    str += "<td align=center width=150 class="coolbar">登陆时间</td>";
    str += "<td align=center width=150 class="coolbar">最近时间</td>";
    str += "<td width=100 height=20 class="coolbar">当前位置</td>";
    str += "</tr>";
   
   
    for ( int i = 0 ; i < alluser.Count ; i++)
    {
        Soholife.User tempuser=(Soholife.User)alluser[i] ;
        str += "<tr bgcolor=white>";
        str += "<td>" + tempuser.name + "</td>";
        str += "<td>" + tempuser.lasttime + "</td>";
        str += "<td>" + tempuser.curtime + "</td>";
        str += "<Td>" + tempuser.iswhere + "</td>";
        str += "</tr>";
    }
    maininfo.Text=str;   
}

</script>

<html><head>
<style type="text/css">
    td{font-size:12;}
    .bgcolor{background:#ffffcc;}
</style>
<script language=javascript>
function openwindow(url,w,h)
    {
    window.open(url,"","toolbar=no,menubar=no,directories=no,status=yes,width=" + w + ",height=" + h + ",scrollbars=yes,resizable=yes");
    return false;
    }
</script>
</head>

<body bgcolor="#ccffcc"><center>
<Br>
<table width=450 bgcolor=white cellpadding="0" cellspacing="0" style="border:none";>
    <Tr><td colspan=2 align=center class="bar">当前在线用户</td></tr>
</table><br>
<asp:Label font-size="8pt" id="showmsg" runat="server"/>
<table width=450 bgcolor=white cellpadding="2" cellspacing="1" class="Grid">
    <asp:Label font-size="8pt" id="maininfo" runat="server"/>
</table>
</center></body></html>

ASPNET中实现在线用户检测(使用后台守护线程)的更多相关文章

  1. 在线用户管理--ESFramework 4.0 进阶(05)

    无论我们采用何种通信框架来构建我们的分布式系统,在服务端进行用户管理都是非常重要的一个环节.然而用户管理是否应该隶属于通信框架了?这个并不一定,通常来说,用户管理是与具体应用紧密相关的,应该是由应用解 ...

  2. ASP.NET中在线用户统计

    统计在线用户的作用不言而喻,就是为了网站管理者可以知道当前用户的多少,然后根据用户数量来观察服务器或者程序的性能,从而可以直观的了解到网站的吸引力或者网站程序的效率.现在,我们就介绍一个简单明了的方法 ...

  3. 服务降级 托底预案 Nginx中使用Lua脚本检测CPU使用率,当达到阀值时开启限流,让用户排队

    https://mp.weixin.qq.com/s/FZAcQQAKomGEe95kln1HCQ 在京东我们是如何做服务降级的 https://mp.weixin.qq.com/s/FZAcQQAK ...

  4. servlet就实现在线用户表

    在学习servlet的过程中,学习了如何用servlet实现在线用户表. 只有服务器处于开机状态才会有在线用户表的存在,在服务器关机的情况下自然就不存在在线用户表的说法:所以,楼主认为在线用户表的信息 ...

  5. 基于Redis的在线用户列表解决方案

    前言: 由于项目需求,需要在集群环境下实现在线用户列表的功能,并依靠在线列表实现用户单一登陆(同一账户只能一处登陆)功能: 在单机环境下,在线列表的实现方案可以采用SessionListener来完成 ...

  6. [项目回顾]基于Redis的在线用户列表解决方案

    迁移:基于Redis的在线用户列表解决方案 前言: 由于项目需求,需要在集群环境下实现在线用户列表的功能,并依靠在线列表实现用户单一登陆(同一账户只能一处登陆)功能: 在单机环境下,在线列表的实现方案 ...

  7. 一套海量在线用户的移动端IM架构设计实践分享(含详细图文)(转)

    1.写在前面 1.1.引言 如果在没有太多经验可借鉴的情况下,要设计一套完整可用的移动端IM架构,难度是相当大的.原因在于,IM系统(尤其是移动端IM系统)是多种技术和领域知识的横向应用综合体:网络编 ...

  8. ASP.NET MVC使用SignalR统计在线用户人数

    学到新东西就记录一下.也许正好有人需要~~~~~~ 由于需要记录当前在线用户,emmmm又是没做过的... 本来想用数据库的形式,但是想想这么简单的功能百度肯定有.遨游一波百度,有所收获.... 虽然 ...

  9. ASP.NET MVC Filters 4种默认过滤器的使用【附示例】 数据库常见死锁原因及处理 .NET源码中的链表 多线程下C#如何保证线程安全? .net实现支付宝在线支付 彻头彻尾理解单例模式与多线程 App.Config详解及读写操作 判断客户端是iOS还是Android,判断是不是在微信浏览器打开

    ASP.NET MVC Filters 4种默认过滤器的使用[附示例]   过滤器(Filters)的出现使得我们可以在ASP.NET MVC程序里更好的控制浏览器请求过来的URL,不是每个请求都会响 ...

随机推荐

  1. MAC 上升级python为最新版本

    第1步:下载Python3.4 下载地址如下: 下载Mac OS X 64-bit/32-bit installer https://www.python.org/downloads/release/ ...

  2. Project Euler 89:Roman numerals 罗马数字

    Roman numerals For a number written in Roman numerals to be considered valid there are basic rules w ...

  3. 第二十二章 CLR寄宿和AppDomain

    1. 概念解析 CLR Hosting(CLR 宿主):初始启动.Net Application时,Windows进程的执行和初始化跟传统的Win32程序是一样的,执行的还是非托管代码,只不过由于PE ...

  4. Java API —— Calendar类

    1.Calendar类概述  Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY_OF_MONTH.HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段 ...

  5. IIS发布报错

    IIS发布报错一般原因 ISAPI和CGI限制作为IIS与ASP.NET的连接桥梁

  6. C# Index 定义索---引具体使用2

    窗体代码 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;usi ...

  7. Event-based Asynchronous Pattern Overview基于事件的异步模式概览

    https://msdn.microsoft.com/zh-cn/library/wewwczdw(v=vs.110).aspx Applications that perform many task ...

  8. 注意:C++中double的表示是有误差的

    注意:C++中double的表示是有误差的,直接通过下面的例子看一下 #include<iostream> using namespace std; int main() { double ...

  9. CocoaPods requires your terminal to be using UTF-8 encoding

    WARNING: CocoaPods requires your terminal to be using UTF-8 encoding. See https://github.com/CocoaPo ...

  10. poj 1195 Mobile phones(二维树状数组)

    树状数组支持两种操作: Add(x, d)操作:   让a[x]增加d. Query(L,R): 计算 a[L]+a[L+1]……a[R]. 当要频繁的对数组元素进行修改,同时又要频繁的查询数组内任一 ...