ASP.NET技术 怎么实现统计网站的访问人数。 请高手指点。最好是有源代码 谢谢

是ASP.NET不是ASP不过还是谢谢... 是ASP.NET不是ASP 不过还是谢谢 展开
 我来答
绝对帅杀
2010-09-13
知道答主
回答量:11
采纳率:0%
帮助的人:10.1万
展开全部
添加Global.aspx,然后分别改动下session_start和application_start就可以了!!把全代码给你...里面还有统计在线人数的分给我把!哈哈!

<%@ Application Language="C#" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="DbHelper.User" %>

<script runat="server">

void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
Application["online"] = 0;//设置初始在线人数为0
Application["total"]=(int)(Maindao.GetCount().Rows[0]["totalcount"]);//这里是从数据库读这次以前的访问总人数!

}

void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
Maindao.totalCount((int)Application["total"]);//关闭时添加一次访问次数

}

void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
Exception lasterror = Server.GetLastError();
string ErrMsg = lasterror.ToString();
string LogName = "Mylog";
string Message = "URL:" + Request.Path + " ,Error:" + ErrMsg;
// Create EventLog if It doesn't exist
if (!System.Diagnostics.EventLog.SourceExists(LogName))
{
System.Diagnostics.EventLog.CreateEventSource(LogName, LogName);
System.Diagnostics.EventLog log = new System.Diagnostics.EventLog();
log.Source = LogName;
//These are the five options that will display a different icon.
log.WriteEntry(Message, System.Diagnostics.EventLogEntryType.Information, 1);
log.WriteEntry(Message, System.Diagnostics.EventLogEntryType.Error, 2);
log.WriteEntry(Message, System.Diagnostics.EventLogEntryType.Warning, 3);
log.WriteEntry(Message, System.Diagnostics.EventLogEntryType.SuccessAudit, 4);
log.WriteEntry(Message, System.Diagnostics.EventLogEntryType.FailureAudit, 5);
}
Application.Lock();
Application["error"] = Message;
Application.UnLock();
}

void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
Application.Lock();
Application["online"] = (int)Application["online"] + 1;//在线人数加1
Application["total"] = (int)Application["total"] + 1; //访问总人数加1
Application.UnLock();

}

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

}

</script>
北京磐安云创科技有限公司_
2023-02-01 广告
价格只是购买产品或服务过程中的一项指标,如果单纯只比较价格,其实考虑并不是那么周到。价格、质量、服务、口碑、是否合适自己的情况等都需要一起考虑。以上回答如果还觉得不够详细,可以来咨询下北京磐安公司。北京磐安公司是一家专业从事高新软件的技术公... 点击进入详情页
本回答由北京磐安云创科技有限公司_提供
似靖灵3y
2010-09-10 · TA获得超过3968个赞
知道大有可为答主
回答量:1371
采纳率:0%
帮助的人:1566万
展开全部
加一个Global.asax,在Session_Start里面把Application的计数器加一.定时写入文件就好了
在global.asa文件中定义
<script language="vbscript" runat=server>
sub application_onstart()
application("sum")=0
end sub
sub session_onstart()
session.timeout=5
application("sum")=application("sum")+1
end sub
sub session_onend()
application("sum")=application("sum")-1
end sub
</script>

参考资料: http://zhidao.baidu.com/question/13563478.html?si=4

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangfanai1010
2010-09-14 · 超过14用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:24.9万
展开全部
其实他们已经回答的很多了,很对了。请楼主根据实际采纳吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式