[ASP.NET2.0]Global.asax实现在线人数统计和站点访问总量

原创 2007年09月27日 10:34:00
 




~/App_Data/Visitors.xml  文件

<?xml version="1.0" encoding="gb2312"?>
<Count>
  
<TotalVisitors>0</TotalVisitors>
</Count>

Global.asax 文件
<%@ Application Language="C#" %>
<%@ Import Namespace="System.Xml" %>

<script runat="server">

    
/// <summary>
    
/// Application["Visitors"]        当前在线人数
    
/// Session["TotalVisitors"]    站点访问总量
    
/// </summary>


    
void Application_Start(object sender, EventArgs e) 
    
{
        
// 在应用程序启动时运行的代码
        Application["Visitors"= 0;    //在线访客人数统计

    }

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

    }

        
    
void Application_Error(object sender, EventArgs e) 
    

        
// 在出现未处理的错误时运行的代码

    }


    
void Session_Start(object sender, EventArgs e) 
    
{
        
// 在新会话启动时运行的代码
        Application.Lock();

        
if (this.Session.IsNewSession == true)
        
{
            Application[
"Visitors"= (int)Application["Visitors"+ 1;    //增加在线人数

            XmlDocument xmldoc 
= new XmlDocument();
            
            xmldoc.Load(Server.MapPath(
"~/App_Data/Visitors.xml"));
            
            XmlNode VisitorsNode 
= xmldoc.DocumentElement.ChildNodes[0].ChildNodes[0];
            
            Session[
"TotalVisitors"= Convert.ToInt32(VisitorsNode.Value) + 1;    //站点访问总数
                
            VisitorsNode.InnerText 
= this.Session["TotalVisitors"].ToString();
            
            xmldoc.Save(Server.MapPath(
"~/App_Data/Visitors.xml"));

        }


        Application.UnLock();

    }


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

    }

       
</script>
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

asp.net2.0简单用户权限管理、站点登录、导航与权限管理

由于基础数据维护模块和一些系统性的配置只允许管理员操作,不想动用数据库来做用户和权限管理,想利用asp.net2.0自带的用户角色管理.1.首先在web.config文件的的节点下添加管理员的基本信息

在线文件管理系统(Asp.net2.0,Ajax,3层架构)

====================================================== 注:本文源代码点此下载 =============================...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

ASP.NET中利用Application和Session统计在线人数、历史访问量

通常在整个过程中,大多数人对Application_End()这个事件的疑问是最大的,因为如果您只是在VisualStudio上做的测试的话,关闭系统时,没有触发Application_End()事件...

asp.net 在线人数统计,页面访问量 Application ,session

asp.net 在线人数统计,页面访问量 Application ,session 1.新建网站,添加几个窗体。webForm1.aspx ,ViewStateForm.aspx 2.在网...

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

注:最近在复习ASP.NET,为了加深印象,会制作一些小的demo程序,分享给大家。 1 新建ASP.NET网站,编辑Global.asax文件,修改后的文件内容如下所示。 ...
  • tiana0
  • tiana0
  • 2015-04-04 11:14
  • 2147

Asp.Net实现在线人数统计

利用Application对象和Session对象可以统计当前在线用户数量.注意:(1)在会话开始和结束时,一定要进行加锁和解锁操作。由于多个用户可以共享Application对象,因此加锁是必要的,...

整合greyBox和asp.net2.0,实现lightBox效果

最终效果如图所示:        除了弹出的链接的颜色是正常显示,原窗口的被灰色的背景所蒙盖,有点windows关机的时候的感觉。 并且,被灰色覆盖的原画面不能再进行操作,只能关闭新弹出的画面...

ASP.NET2.0中轻松实现网站换肤(App_Themes的使用)

轉:ASP.NET2.0中轻松实现网站换肤(App_Themes的使用)1.简介   新建App_Themes文件夹:    项目 - 右键 - 添加 - 添加ASp.net文件夹 - 主题利用The...

在ASP.Net2.0中使用UrlRewritingNet实现链接重写

很多时候我们需要链接转向(Url Rewriting),例如二级域名转向、文章访问链接等场合。让我们看两个例子:1 你现在看到的当前作者的博客园的域名:http://heekui.cnblogs.co...

asp.net2.0实现文件上传,控制上传文件大小,类型

1、建立Default.aspx文件和文件夹upLoad 2、Default.aspx代码如下: 无标题页 onClick="Button1_...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)