一起学~ASP.NET实例编程(一)(2)

昨天我们学习了AdRotator 控件(广告轮播器)今天我们再学一个知识点:

网站访问计数器

即用application对象保存在线用户人数。以及区别一下application和session

区别:application对象用于保存用户共用的数据信息,session对象保存每个用户的专有信息。

下面介绍下globa.asax文件。我们可以通过添加全局应用程序类来添加。

————————————————————————————————————

 Gobal.asax是干什么的?
Š Global.asax文件也称为ASP.NET应用程序文件,它一般被放在根目录下。此文件中的代码不产生用户界面,也不相应单个页面的请求。
Š 它主要是负责处理Application_Start,Application_End,Session_Start和Session_End事件的。

 Global.asax中的事件

描述 事件函数

发生错误时激发 Application_Error
应用程序结束时激发 Application_End
会话结束时激发 Session_End
HTTP请求结束时激发 Application_EndRequest
会话启动时激发 Session_Start
应用程序批准HTTP请求时激发 Application_AuthenticateRequest
HTTP请求开始时激发 Application_BeginRequest
应用程序启动时激发 Application_Start

————————————————————————————————————

代码
1 //全局应用程序类文件的代码如下:
2  
3  <%@ Application Language="C#" %>
4  <%@ Import Namespace="System.IO"%>
5  <script runat="server">
6
7 void Application_Start(object sender, EventArgs e)
8
{
9 //
在应用程序启动时运行的代码
10 //将VisitCount.txt文件的路径保存在Application对象中

11   Application["strPath"] = Server.MapPath(null) + @"\VisitCount.txt";
12 string strPath = Application["strPath"
].ToString();
13 if
(File.Exists(strPath))
14
{
15 StreamReader sr = new StreamReader(strPath);//构造StreamReader流对象

16   String strCount;
17 strCount =
sr.ReadToEnd();
18 if (strCount != ""
)
19 Application["count"] =
Convert.ToInt32(strCount);
20 else

21 Application["count"] = 0;
22
sr.Close();
23
}
24 else

25 {
26 StreamWriter sw = File.CreateText(strPath);//创建文本文件,并且返回StreamWriter流

27   Application["count"] = 0;
28 sw.Write(Application["count"
].ToString());
29
sw.Close();
30
}
31
}
32

33 void Application_End(object
sender, EventArgs e)
34
{
35 // 在应用程序关闭时运行的代码

36  
37 }
38

39 void Application_Error(object
sender, EventArgs e)
40
{
41 // 在出现未处理的错误时运行的代码

42  
43 }
44

45 void Session_Start(object sender, EventArgs e)
46
{
47 // 在新会话启动时运行的代码

48 string strPath = Application["strPath"].ToString();
49
Application.Lock();
50 Application["count"] = System.Convert.ToInt32(Application["count"]) + 1
;
51 StreamWriter sw = new
StreamWriter(strPath);
52 sw.Write(Application["count"
].ToString());
53
sw.Close();
54
Application.UnLock();
55
}
56

57 void Session_End(object
sender, EventArgs e)
58
{
59 //
在会话结束时运行的代码。
60 //
注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
61 //
InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
62 // 或 SQLServer,则不会引发该事件。

63 }
64

65 </script>

66
67 //aspx文件如下:
68
69 protected void Page_Load(object sender, EventArgs e)
70
{
71 Response.Write("你是第" + Application["count"].ToString() + "位登陆本页面者!"
);
72
}
73

74

____________________________________________________________________________________________

 ASP.NET中文件操作
System.IO
•Directory :用于创建、移动和枚举通过目录和子目录
•File :用于创建、复制、删除、移动和打开文件
•Path:对包含文件或目录路径信息的String 实例执行操作
•StreamReader、StreamWriter:以一种特定的编码读写字符

 

-------------------------------------------------------------------------------------

文件操作概述
• 任何一种编程技术,都少不了对文件的操作。
• 由于ASP.NET使用了.NET平台同一的类库,因而其对文件的操作的功能非常强大
•.NET提供了一些专门用于文件操作的类库,比如File、FileStream、BinaryReader、BinaryWriter、StreamReader、StreamWriter等。

posted @ 2010-06-30 22:12  华仔崽  阅读(230)  评论(0编辑  收藏  举报
友情链接 JeffreyZhao  zhangziqiu 短信猫 MVC学习 .net面试问答(大汇总) python