|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有时也搞不懂应该学那种;主要看你以后去的那个公司是使用哪种了。就像王千祥的课上说的:企业应用现在主要就三层(其实也差不多就是MVC):表示层(主要使用html写的,很简单)、业务逻辑层(主要就是应用服务器的)。最后就是数据层(其实就是学习数据库)一名QQ密友问我团体网站会见量是怎样统计的,因为自己初学做网站,程度无限,所先容的办法多是笨办法,但在我网站上可以对付着利用,但愿人人多多指教。一名QQ密友问我团体网站会见量是怎样统计的,因为自己初学做网站,程度无限,所先容的办法多是笨办法,但在我网站上可以对付着利用,但愿人人多多指教。
1、创建一个数据表IPStat用于寄存用户信息
我在IPStat表中寄存的用户信息只包含登任命户的IP(IP_Address),IP来历(IP_Src)和登录工夫(IP_DateTime),些表的信息自己只保留一天的信息,假如要统计每月的信息则要保留一个月。由于我不太懂对数据日记的操纵,以是创立此表,以是说我笨吧,哈哈。
2、在Global.asax中猎取用户信息
在Global.asax的Session_Start即新会话启用时猎取有关的信息,同时在这里完成在耳目数、会见总人数的增量统计,代码以下:
voidSession_Start(objectsender,EventArgse)
{
//猎取会见者的IP
stringipAddress=Request.ServerVariables["REMOTE_ADDR"];
//猎取会见者的来历
stringipSrc;
//判别是不是从搜刮引擎导航过去的
if(Request.UrlReferrer==null)
{
ipSrc="";
}
else
{
//猎取来历地点
ipSrc=Request.UrlReferrer.ToString();
}
//猎取会见工夫
DateTimeipDatetime=DateTime.Now;
//保留IP信息到数据库中
IPControlcont=newIPControl();
cont.AddIP(ipAddress,ipSrc,ipDatetime);
//猎取用户会见的页面
stringpageurl=Request.Url.ToString();
//判别会见的是不是是默许页
if(pageurl.EndsWith("IPStat.aspx"))
{
//锁定变量
Application.Lock();
//为页面会见量+1
Application["StatCount"]=int.Parse(Application["StatCount"].ToString())+1;
//解锁
Application.UnLock();
}
//锁定变量
Session.Timeout=10;//设定超时为10分钟
Application.Lock();
Application["countSession"]=Convert.ToInt32(Application["countSession"])+1; //会见总人数+1
Application["onlineWhx"]=(int)Application["onlineWhx"]+1;//在耳目数加+1
Session["login_name"]=null;
//解锁
Application.UnLock();
}
提示一句,别忘了上面的代码,以完成在用户离线时,将在耳目数减往1.
voidSession_End(objectsender,EventArgse)
{
//在会话停止时运转的代码。
//注重:只要在Web.config文件中的sessionstate形式设置为InProc时,才会激发Session_End事务。
假如会话形式设置为StateServer
//或SQLServer,则不会激发该事务。
//锁定变量
Application.Lock();
Application["onlineWhx"]=(int)Application["onlineWhx"]-1;//在耳目数减-1
Session["login_name"]=null;
//解锁
Application.UnLock();
}
3、将以上有关信息保留到数据库IPStat
创立了一个猎取IP数据信息的类IPControl(),用来完成对数据库IPStat数据的操纵,关于IPControl()类的内容,由于它是C#中对数据库的操纵,以解Sqlserver数据库,就可以看懂它,这里就不作先容了,请点击该链接检察。
为了完成将用户IP信息存进数据库,在下面代码中对IPControl()举行挪用
//保留IP信息到数据库中
IPControlcont=newIPControl();
cont.AddIP(ipAddress,ipSrc,ipDatetime);
参数ipAddress为用户IP,ipSrc为用户来历,ipDatetime为用户进进工夫。chinaitlab
说句实话,Java跨平台根本就不是外行人想想的那种,一次编译,处处运行。 |
|