




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏公务员考试题及答案
- 中医院护理编制试题题库及答案解析
- 社区编制考试试题及答案
- 中级实务考试试题及答案
- 纪委招聘考试试题及答案
- 中医护理学基础习题库及答案解析
- 南充直观课件制作培训
- 安全输血护理考试题库及答案
- 2025年计算机操作系统原理与应用案例分析试卷
- 2025年营养师考试冲刺试卷:基础知识与实操强化训练
- 商贸公司备用金管理制度
- spc培训教学课件
- 吊顶工程教学课件
- 变电站建设重点与风险控制措施
- 2025年黑龙江省绥化市中考物理试卷(含答案)
- 广东省汕头市2024-2025学年高二下学期期末教学质量监测英语试卷(含答案)
- 第十三章 内能(新课预习 培优卷)(含答案)2025-2026学年人教版九年级全一册物理
- 燃气定期安全检查制度
- 安全生产责任制(模板)
- 智能化技术在2025年城市污水处理厂改造中的智能化改造技术方案报告
- 2025至2030中国无针注射系统行业发展趋势分析与未来投资战略咨询研究报告
评论
0/150
提交评论