RIA技术下实现网站访问量统计功能

作为一个在公网上运行的网站,一般都会对网站的访问量进行一个统计。在现在RIA技术漫天飞的时代,本文讨论一下在如何在采用富客户端技术实现的网页中,实现网站的访问量统计。本文以silverlight技术为例。
silverlight应用程序需要用到网页来承接的,默认情况下,来承接silverilght应用程序的是html网页,不过纯html网页它就是一个文本,它位于客户端不好实现访问量统计,所以本人采用的是aspx网页来承接silverlight应用程序。
在aspx网站中如何实现访问量统计呢?应该考虑的是服务器端的某个类:要么自己来写、或者找找aspx网站是否存在该类似的类。不过经过笔者考虑最终决定用aspx网站特有的Global.asax全局类,来实现。 该类是一个全局的类,它是在系统部署到IIS中以后该全局变量就激活入注了:进入了生命周期,在IIS Admin服务停止时才结束生命周期(它并不是在网站停止时就停止生命周期,也非在网站启动时才开始生命周期)。
Global.asax类中总共有有以下六个方法。
protected void Application_Start(object sender, EventArgs e)
{
}
protected void Session_Start(object sender, EventArgs e)
{
}
protected void Application_BeginRequest(object sender, EventArgs e)
{
}
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
}
protected void Application_Error(object sender, EventArgs e)
{
}
protected void Session_End(object sender, EventArgs e)
{
}
protected void Application_End(object sender, EventArgs e)
{
}
Application_Start方法是在系统部署到网站中时执行一次,或者IIS Admin服务重启时执行一次。Session_Start每一次连接到系统时执行的。Application_BeginRequest是在连接到系统后,每次刷新页面时都会执行一次。其他的方法都是这些方法的相应结束调用。
综上所述,我们可以在Application_Start方法中执行相关数据库的操作,从数据库中读取出以前访问量数值写入到Application的状态中。在Session_Start方法中执行相应的application的状态值的增加,即访问量加以一。在Session_End方法中写入相应的在线数减一等操作。Application_End中执行相应写入数据库中的操作,应为该方法是在IIS Admin服务停止时调用,所以需要将应用程序的状态值,即访问量写入到数据库中保存起来,以便在未来服务启动后能获取到相关的历史访问量。
嘿嘿……其实就这么简单就实现了访问量的统计功能。有什么问题在联系我哦,QQ:545312056

你可能感兴趣的:(数据库,session,object,application,silverlight,RIA)