怎么做在线统计?

oct2000 2004-06-21 09:30:33
比如统计在线人数,所访问的页面,访问的地址,等等
...全文
65 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ITsoftware 2004-07-01
  • 打赏
  • 举报
回复
公布一段自己改装的c#代码,如果有疑问qq:49889688
namespace SCMIE.WebUI.Modules
{
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Configuration;

/// <summary>
/// Head 的摘要说明。
/// </summary>
public abstract class online: System.Web.UI.UserControl
{

private void Page_Load(object sender, System.EventArgs e)
{
string online_connstr=ConfigurationSettings.AppSettings["Conn"].ToString();
SqlConnection online_conn=new SqlConnection(online_connstr);
online_conn.Open();
System.Web.HttpCookie user_time=this.Request.Cookies["user_time"];
string user_session=Session.SessionID;
string user_ip;
if(System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"]!=null)
{
user_ip=System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
}
else
{
user_ip=System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
}
string user_from=this.Request.ServerVariables["HTTP_REFERER"];
string from=this.Request.QueryString["from"];
string site;
if (this.Request.ServerVariables["QUERY_STRING"]!="")
{
site=Request.ServerVariables["PATH_INFO"]+"?"+Request.ServerVariables["QUERY_STRING"];
}
else
{
site=Request.ServerVariables["PATH_INFO"];
}
if(from!=null)
{
site=from;
}
System.DateTime end_time=DateTime.Now;
end_time=end_time.AddMinutes(-10);
string user_name;
string user_type;
if(Session["usr"].ToString()=="")
{
user_name="访客";
user_type="4";
}
else
{
user_name=Session["usr"].ToString();
user_type=Session["type"].ToString();
}
string online_sql="update active_user set online_state='0' where active_time<'"+end_time.ToString()+"'";
SqlCommand online_command=new SqlCommand(online_sql,online_conn);
online_command.ExecuteNonQuery();
string online_sql00="select session_id from active_user where session_id='"+user_session+"'";
SqlCommand online_command00=new SqlCommand(online_sql00,online_conn);
SqlDataAdapter online_adapter=new SqlDataAdapter(online_command00);
DataSet ds=new DataSet();
online_adapter.Fill(ds,"online_rs");
if(ds.Tables["online_rs"].Rows.Count!=0)
{
online_command.CommandText="update active_user set active_time='"+DateTime.Now+"',user_name='"+user_name+"',user_type='"+user_type+"',site='"+site+"' where session_id='"+user_session+"'";
online_command.ExecuteNonQuery();
this.Response.Cookies["user_time"].Expires=DateTime.Now.AddMinutes(10);
}
else
{
if( user_time==null)
{
this.Response.Cookies["user_time"].Value="1";
this.Response.Cookies["user_time"].Expires=DateTime.Now.AddMinutes(10);
online_command.CommandText="insert into active_user (session_id,ip,site,user_name,user_type,user_from) values('"+user_session+"','"+user_ip+"','"+site+"','"+user_name+"','"+user_type+"','"+user_from+"')";
online_command.ExecuteNonQuery();
string online_sql003="select * from count_date where my_date='"+DateTime.Now.ToShortDateString()+"'";
SqlCommand online_command003=new SqlCommand(online_sql003,online_conn);
SqlDataAdapter online_adapter003=new SqlDataAdapter(online_command003);
online_adapter003.Fill(ds,"date_rs");
if(ds.Tables["date_rs"].Rows.Count!=0)
{
online_command.CommandText="update count_date set my_count=my_count+1 where my_date='"+DateTime.Now.ToShortDateString() +"'";
online_command.ExecuteNonQuery();
}
else
{
online_command.CommandText="insert into count_date (my_count,my_date) values('1','"+DateTime.Now.ToShortDateString()+"')";
online_command.ExecuteNonQuery();
}
}
}


}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// 设计器支持所需的方法 - 不要使用
/// 代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧