已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急诊理论试题及答案800
- 应急防护综合试题及答案公布
- 2024数学一历年真题(含答案详解)
- 考研数学二冲刺试卷全套-2026(考点速记版)
- 金融大数据处理全套课件
- 全国统考数学三强化试卷|2024考研(含答题卡)
- 急性外耳道炎诊疗指南(2026版)
- 创伤后应激障碍心理干预课件
- 《职业健康监护技术规范》解读
- 《信息工程》分层作业及答案-2026-2027学年湘科版(新版)小学科学五年级上册
- 2025年深圳市中考英语试题(考生回忆版)
- (二模)咸阳市2026年高三高考模拟检测(二)历史试卷(含标准答案)
- 2026中国电信量子公司春季博士招聘备考题库带答案详解(精练)
- 2026散装煤炭运输成本测算及供应链优化方案研究报告
- 小学历史与文化知识竞赛题库100道附参考答案【综合卷】
- 新版湘教版八年级下册数学全册教案(完整版)教学设计含教学反思
- 临床输血知识培训课件
- 营养均衡讲解课件
- 生产部报废管理制度
- 左宗棠介绍教学课件
- 心肌梗塞患者的运动康复护理
评论
0/150
提交评论