位置:海鸟网 > IT > ASP.NET >

ASP.NET讲座(6)-ASP.NET的几种主要文件

使用ASP的同仁们一定经常使用这些东西,因为不管什么产品的开发都离不开与用户的互动,而在ASP中,他们三个,正是互动的桥梁。

  ASP.net中,他们也受到了足够的重视,但改变不是很大。

  6.1 Application

  Application的生命周期

  Application的生命周期,并不是是从IIS5开始启动的那一刻开始,而是从客户对服务器发出第一个Request的那个时候开始的。从那时开始一个名叫HTTPApplication的Pool开始建立,这也是Application生命周期(lifetime)的开始。此时Application_OnStart的事件也发生了。直到Application_OnEnd的事件发生,才是Application生命周期的结束。

  Application写的网站计数器

<%
 Application.Lock()
 Application("counter") = CType(Application("counter") + 1, Int32)
 Application.UnLock()
%>

  与ASP中还是一样的。

  Application 与ASP中的不同的地方

  Application与ASP不同的地方在于 新多了两个事件 Application_OnRequestStart()和Application_OnRequestEnd() 这两个事件,在用户开始浏览一个aspx文件,和aspx文件运行结束时触发,也就是说,这两个事件,不是针对整个服务器来说的,而是对于单个程序来说。

  6.2 Session

  在ASP中,我们都知道,如果用户把浏览器上面的Cookies关掉,那么Session就不可能被传递了,ASP.net针对这个问题,提出Session的传递应该脱离Cookies。我们修改一下config.web,还记得这个文件吗?ASP.net的无安装化程序移植的精髓,都在这样的一个文件中。

  修改如下地方:<sessionstate cookieless="false" /> 改为True就可以了
其他地方 Session和ASP没有什么区别。

  6.3 Cookies

  这里和ASP就有一些区别大家注意了。

  建立一个Cookies

Dim cookie As New HttpCookie("user")
Cookie.Value = "yesky.com"
Response.AppendCookie(cookie)
读出一个Cookies
Dim cookie As New HttpCookie("user")
StrCookie = Cookie.Value

  6.4 State

  这个是一个全新的东西,它可以保存中间过程量在浏览器上面。比如,要注册一个新用户,我们往往在第一页上填写用户名,然后第二页填写联系方法,第三页填写相关的个人资料,这样三页就需要传递数据,以前通常的方法是在 <input>里面 hidden一个数据,现在通过State就好办多了。

  关于State,我们不做很多的介绍,如果您感兴趣,可以参看#sessionstate 这是它的官方说明,也比较模糊。

  6.5 Global.aspx

  ASP.net中,为了突出和ASP的区别,特别将Global.asp改成Global.aspx 但功能没有很大的变化。
例子:

Sub Application_Start()
 Response.Write("Application is Starting...<br>")
End Sub

Sub Session_Start()
 Response.Write("Session is Starting...<br>")
 Session.Timeout = 1
End Sub

  这个非常简单了。