已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. WebSite 默认的 Global.asax 模板似乎是不生成 Global.asax.cs 的, 该模板使用内联代码方式(在 Global.asax 中) 2. 自己建一个模板(稍微复杂) 3. 自己在 App_Code 增加一个 Global.asax.cs, Global.asax 中使用 Global.asax用于包含响应应用程序级别事件的处理程序。主要有Application_Start,Application_End;Session_Start,Session_End;Application_BeginRequest,Application_EndRequest;Application_AuthenticateRequest;Application_Error,这些在新建应用程序在Global.asax中都可以看到,查看方法为:点击解决方案中的Global.asax,在弹出的窗口中点击“此处”切换到代码视图。这里将利用Global.asax中提供的上面几个事件程序实现统计Web应用程序的总访问人数和在线人数。主要是利用Application和session两个。对于总访问人数,由于是从Web开启算起,所以要保存这个值,保存有两种方法,一是用数据库,另外一个是利用文件保存,这里将两种方法的代码如下:方法一:利用数据库实现。选择Sql中建立一个数据库countpeople,里面有一个基本表:create table countnum(num int,)所先初始化其值为0,其中Global.asax代码中的几个如下: protected void Application_Start(Object sender, EventArgs e) SqlConnection con=new SqlConnection(server=.;database=countpeople;uid=sa;pwd=;); con.Open(); SqlCommand cmd=new SqlCommand(select * from countnum,con); int count=Convert.ToInt32(cmd.ExecuteScalar (); con.Close(); Applicationtotal=count; Applicationonline=0; protected void Session_Start(Object sender, EventArgs e) /session.timeout=20;/单位是分,系统默认值为20min,可以自定 Application.Lock(); Applicationtotal=(int)Applicationtotal+1; Applicationonline=(int)Applicationonline+1; Application.UnLock(); protected void Session_End(Object sender, EventArgs e) Application.Lock(); Applicationonline=(int)Applicationonline-1; Application.UnLock(); protected void Application_End(Object sender, EventArgs e) SqlConnection con=new SqlConnection (server=.;database=countpeople;uid=sa;pwd=;); con.Open(); SqlCommand cmd=new SqlCommand (updata countnum set num=+Applicationtotal.ToString(),con); cmd.ExecuteNonQuery(); con.Close(); 这样在Web的代码中可以如下: private void Page_Load(object sender, System.EventArgs e) this.lbltotal.Text=Applicationtotal.ToString(); this.lblonline.Text=Applicationonline.ToString(); 其中lbltotal和lblonline是在Web窗口中的两个Label,注意由于Application返回的数据类型是object,所以在做加一减一和输出的时候要进行类型转换。如上面的Applicationtotal.ToString()等。上面中Application_Start事件是在应用程序启动的时候执行,而Session_Start是在每个会话是执行,所以每当一个新用户到来是Session_Start就会执行,从而使历史人数和在线人数都加1,但用户退出时,回话结束,使在线人数减1。上面提到的session.timeout=20是在用户启动回话后,但有不进行任何的对话,服务器在等待20mins后就会自动将这个回话关闭。比如现在你有开启了一个网站,但现在你有事走开,20mins还没回来,虽然网页还在,但在服务器端,已经结束了回话程序。上面的程序由于利用了数据库说要在命名空间中不要忘了加上using System.Data.SqlClient;方法二,利用文件存储历史人数:其中Web的代码和Session_Start(),Session_End()和上面相同,只是在Application的两个程序中将数据库改为文件存储: protected void Application_Start(Object sender, EventArgs e) string sFilename; BinaryReader fileRead; int count=0; sFilename=Server.MapPath(/usrcount.txt); /取得文本的路径 if(File.Exists(sFilename) /文本存在,直接读取数据 fileRead=new BinaryReader(File.OpenRead(sFilename); count=fileRead.ReadInt32(); fileRead.Close(); else count=0; Applicationtotal=count; Applicationonline=0; ApplicationFilename=sFilename; protected void Application_End(Object sender, EventArgs e) string sFilename; BinaryWriter fileWrite; int count; sFilename=ApplicationFilename.ToString(); if(File.Exists(sFilename) fileWrite=new BinaryWriter (File.OpenWrite(sFilename); else /文本不存在,则创建 fileWrite=new BinaryWriter(File.Create(sFilename); count=(int)Applicationtotal; fileWrite.Write(count); /写入文本 fileWrite.Close();=例:Global.asax 文件中设置Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs) 在新会话启动时运行的代码 Session.Timeout = 30 End Sub Sub Session_End(ByVal sender As Object, ByVal e As EventArgs) 在会话结束时运行的代码。 注意: 只有在 Web.co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 飞机试飞设备安装调试工班组安全测试考核试卷含答案
- 中国畜草项目投资可行性研究报告
- 中国自来水处理设备项目投资可行性研究报告
- 双连动座椅滑轨行业深度研究报告
- 2026年中国仿形铣刀行业市场规模及投资前景预测分析报告
- 精利大米行业深度研究报告
- 2025年酒厂笔试真题题库及答案
- 多肽药物批生产调度管理方案
- 水果精深加工建设项目风险评估报告
- 建筑装饰项目施工现场管理方案
- 广东省深圳市宝安区2024-2025学年三年级上学期期中数学试题(含答案)
- 从认知构式视角解析英汉语非宾格现象:差异与共性的探究
- 车抵贷知识培训课件
- 海上安全教育培训课件
- 2025-2030羊肉出口竞争力分析与关税壁垒应对及海外市场拓展报告
- 【新课标】水平四(七年级)体育《田径:快速起动加速跑》教学设计及教案(附大单元教学计划18课时)
- 国家局、省局信息化数据填报管理规定
- 加油站新员工入职安全培训课程及试题
- 2025-2026粤科版二年级科学上册教学设计(附目录)
- 孙子兵法读书汇报课件
- 气象信息管理与分析岗位面试题目
评论
0/150
提交评论