asp.net如何统计在线人数
4个回答
展开全部
<%@ Application Language="C#" %>
<%@ Import Namespace="System.IO" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
string filepath = Server.MapPath("~/App_Data/Count.txt");
if (!File.Exists(filepath))
{
StreamWriter sw = new StreamWriter(filepath);
sw.WriteLine(0);
sw.Flush();
sw.Close();
}
StreamReader sr = new StreamReader(filepath);
int intFwl = int.Parse(sr.ReadLine());
sr.Close();
Application["Fwl"] = intFwl;
Application["Online"] = 0;
}
void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
string filepath = Server.MapPath("~/App_Data/Count.txt");
StreamWriter sw = new StreamWriter(filepath);
sw.WriteLine(Application["Fwl"]);
sw.Flush();
sw.Close();
}
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
}
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
Application["Fwl"] = int.Parse(Application["Fwl"].ToString()) + 1;
Application["Online"] = int.Parse(Application["Online"].ToString()) + 1;
Session.Timeout = 5;
string filepath = Server.MapPath("~/App_Data/Count.txt");
StreamWriter swFile = new StreamWriter(filepath);
swFile.WriteLine(Application["Fwl"]);
swFile.Flush();
swFile.Close();
}
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
Application["Online"] = int.Parse(Application["Online"].ToString()) - 1;
}
</script>
在线 和 来访人数 上面全体复制到 Global.asax
分割线----------------------------------------------------------------------------------------------
下面是显示出来的 添加到你需要的页的cs文件里面
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string sFwl = Application["Fwl"] != null ? Application["Fwl"].ToString() : "N";
string sOnline = Application["Online"] != null ? Application["Online"].ToString() : "N";
for (int i = 0; i < sFwl.Length; i++)
{
Label1.Text += "<img src='images/count/" + sFwl[i] + ".png'/>";
}
for (int i = 0; i < sOnline.Length; i++)
{
Label2.Text += "<img src='images/count/" + sOnline[i] + ".png'/>";
}
}
}
<%@ Import Namespace="System.IO" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
string filepath = Server.MapPath("~/App_Data/Count.txt");
if (!File.Exists(filepath))
{
StreamWriter sw = new StreamWriter(filepath);
sw.WriteLine(0);
sw.Flush();
sw.Close();
}
StreamReader sr = new StreamReader(filepath);
int intFwl = int.Parse(sr.ReadLine());
sr.Close();
Application["Fwl"] = intFwl;
Application["Online"] = 0;
}
void Application_End(object sender, EventArgs e)
{
// 在应用程序关闭时运行的代码
string filepath = Server.MapPath("~/App_Data/Count.txt");
StreamWriter sw = new StreamWriter(filepath);
sw.WriteLine(Application["Fwl"]);
sw.Flush();
sw.Close();
}
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
}
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
Application["Fwl"] = int.Parse(Application["Fwl"].ToString()) + 1;
Application["Online"] = int.Parse(Application["Online"].ToString()) + 1;
Session.Timeout = 5;
string filepath = Server.MapPath("~/App_Data/Count.txt");
StreamWriter swFile = new StreamWriter(filepath);
swFile.WriteLine(Application["Fwl"]);
swFile.Flush();
swFile.Close();
}
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
Application["Online"] = int.Parse(Application["Online"].ToString()) - 1;
}
</script>
在线 和 来访人数 上面全体复制到 Global.asax
分割线----------------------------------------------------------------------------------------------
下面是显示出来的 添加到你需要的页的cs文件里面
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string sFwl = Application["Fwl"] != null ? Application["Fwl"].ToString() : "N";
string sOnline = Application["Online"] != null ? Application["Online"].ToString() : "N";
for (int i = 0; i < sFwl.Length; i++)
{
Label1.Text += "<img src='images/count/" + sFwl[i] + ".png'/>";
}
for (int i = 0; i < sOnline.Length; i++)
{
Label2.Text += "<img src='images/count/" + sOnline[i] + ".png'/>";
}
}
}
数位汇聚
2023-08-28 广告
2023-08-28 广告
常见的查询城市人口数据途径有以下几个:1. 国家统计网站:中国各级单位及公众了解全国及各地区经济社会发展和人口变动情况的重要渠道之一。其网站可以查询全国及各地各级行政区域的人口数据,包括城市总人口、年龄结构、性别比例等。2. 地方统计网站:...
点击进入详情页
本回答由数位汇聚提供
展开全部
(1)新建一个网站,命名为Ex11_06,默认主页名为Default.aspx。
(2)在页面Default.aspx中添加3个Label控件,分别用来显示统计在线人数、当前在线人数、显示当前在线人的个数,然后在该网站中添加一个Global.asax全局应用程序文件。
(3)主要程序代码。
在Global.asax全局应用程序类中,设置当应用程序启动时初始化计数器,代码如下。
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
//初始化
Application["counter"] = 0;
}
在新会话启动时,实现计数器加1,代码如下。
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
//对Application加锁以防并行性
Application.Lock();
//增加一个在线人数
Application["counter"] = (int)Application["counter"] + 1;
//解锁
Application.UnLock();
}
在会话结束时,实现计数器减1,代码如下。
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
//对Application加锁以防并行性
Application.Lock();
//减少一个在线人数
Application["counter"] = (int)Application["counter"] - 1;
//解锁
Application.UnLock();
}
在主页Default.aspx第一次加载时,将Application[“counter”]赋给Label.text,实现在界面上显示在线人数,其代码如下。
Label2.Text=Application["counter"].ToString ();
(2)在页面Default.aspx中添加3个Label控件,分别用来显示统计在线人数、当前在线人数、显示当前在线人的个数,然后在该网站中添加一个Global.asax全局应用程序文件。
(3)主要程序代码。
在Global.asax全局应用程序类中,设置当应用程序启动时初始化计数器,代码如下。
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
//初始化
Application["counter"] = 0;
}
在新会话启动时,实现计数器加1,代码如下。
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
//对Application加锁以防并行性
Application.Lock();
//增加一个在线人数
Application["counter"] = (int)Application["counter"] + 1;
//解锁
Application.UnLock();
}
在会话结束时,实现计数器减1,代码如下。
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
//对Application加锁以防并行性
Application.Lock();
//减少一个在线人数
Application["counter"] = (int)Application["counter"] - 1;
//解锁
Application.UnLock();
}
在主页Default.aspx第一次加载时,将Application[“counter”]赋给Label.text,实现在界面上显示在线人数,其代码如下。
Label2.Text=Application["counter"].ToString ();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
二楼的说的很明确,也非常正确。顶一个...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用服务器对象 Application
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询