asp.net网站首页加计数器的代码如何编写?
- 提问者网友:久伴不朽
- 2021-03-16 23:46
- 二级知识专家网友:放肆的依賴
- 2021-03-17 00:25
统计IP 的话 就判断IP 更新文件 或数据库 累加1
统计PV 的话 页面刷新 就更新 文件 或数据 累加1
- 1楼网友:我叫很个性
- 2021-03-17 00:54
<%@ application language="c#" %>
<script runat="server">
void application_start(object sender, eventargs e) { // 在应用程序启动时运行的代码 application["statcount"] = getdb.selectdata("proc_seltotla").tables[0].rows[0][0].tostring(); application["onlinewhx"] = 0; } void application_end(object sender, eventargs e) { // 在应用程序关闭时运行的代码
} void application_error(object sender, eventargs e) { // 在出现未处理的错误时运行的代码
}
void session_start(object sender, eventargs e) { string ipaddress = request.servervariables["remote_addr"]; string ipsrc; if (request.urlreferrer == null) { ipsrc = ""; } else { ipsrc = request.urlreferrer.tostring(); } datetime ipdatetime = datetime.now; popclassdb.tsgdata("proc_addstatistics", ipaddress, ipsrc, ipdatetime); string pageurl = request.url.tostring(); if (pageurl.endswith("default.aspx")) { application.lock(); application["statcount"] = int.parse(application["statcount"].tostring()) + 1; application.unlock(); } session.timeout = 20; application.lock(); application["countsession"] = convert.toint32(application["countsession"]) + 1; application["onlinewhx"] = (int)application["onlinewhx"] + 1; session["login_name"] = null; application.unlock(); }
void session_end(object sender, eventargs e) { // 在会话结束时运行的代码。 // 注意: 只有在 web.config 文件中的 sessionstate 模式设置为 // inproc 时,才会引发 session_end 事件。如果会话模式设置为 stateserver // 或 sqlserver,则不会引发该事件。 application.lock(); application["onlinewhx"] = (int)application["onlinewhx"] - 1; session["login_name"] = null; application.unlock();
} </script> 将访问信息插入数据库中去,你再写sql语句查询一天记录,一个月记录,总访问记录,还可以设置保存多久记录(sql实现)