明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

ASP.NET講座(6)-ASP.NET的幾種主要文件

[摘要]使用ASP的同仁們一定經(jīng)常使用這些東西,因?yàn)椴还苁裁串a(chǎn)品的開(kāi)發(fā)都離不開(kāi)與用戶的互動(dòng),而在ASP中,他們?nèi)齻(gè),正是互動(dòng)的橋梁。  ASP.net中,他們也受到了足夠的重視,但改變不是很大。   6.1 Application   Application的生命周期  Application的生命周期,...

  使用ASP的同仁們一定經(jīng)常使用這些東西,因?yàn)椴还苁裁串a(chǎn)品的開(kāi)發(fā)都離不開(kāi)與用戶的互動(dòng),而在ASP中,他們?nèi)齻(gè),正是互動(dòng)的橋梁。

  ASP.net中,他們也受到了足夠的重視,但改變不是很大。

  6.1 Application

  Application的生命周期

  Application的生命周期,并不是是從IIS5開(kāi)始啟動(dòng)的那一刻開(kāi)始,而是從客戶對(duì)服務(wù)器發(fā)出第一個(gè)Request的那個(gè)時(shí)候開(kāi)始的。從那時(shí)開(kāi)始一個(gè)名叫HTTPApplication的Pool開(kāi)始建立,這也是Application生命周期(lifetime)的開(kāi)始。此時(shí)Application_OnStart的事件也發(fā)生了。直到Application_OnEnd的事件發(fā)生,才是Application生命周期的結(jié)束。

  Application寫的網(wǎng)站計(jì)數(shù)器

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

  與ASP中還是一樣的。

  Application 與ASP中的不同的地方

  Application與ASP不同的地方在于 新多了兩個(gè)事件 Application_OnRequestStart()和Application_OnRequestEnd() 這兩個(gè)事件,在用戶開(kāi)始瀏覽一個(gè)aspx文件,和aspx文件運(yùn)行結(jié)束時(shí)觸發(fā),也就是說(shuō),這兩個(gè)事件,不是針對(duì)整個(gè)服務(wù)器來(lái)說(shuō)的,而是對(duì)于單個(gè)程序來(lái)說(shuō)。

  6.2 Session

  在ASP中,我們都知道,如果用戶把瀏覽器上面的Cookies關(guān)掉,那么Session就不可能被傳遞了,ASP.net針對(duì)這個(gè)問(wèn)題,提出Session的傳遞應(yīng)該脫離Cookies。我們修改一下config.web,還記得這個(gè)文件嗎?ASP.net的無(wú)安裝化程序移植的精髓,都在這樣的一個(gè)文件中。

  修改如下地方:<sessionstate cookieless="false" /> 改為True就可以了
其他地方 Session和ASP沒(méi)有什么區(qū)別。

  6.3 Cookies

  這里和ASP就有一些區(qū)別大家注意了。

  建立一個(gè)Cookies

Dim cookie As New HttpCookie("user")
Cookie.Value = "yesky.com"
Response.AppendCookie(cookie)
讀出一個(gè)Cookies
Dim cookie As New HttpCookie("user")
StrCookie = Cookie.Value

  6.4 State

  這個(gè)是一個(gè)全新的東西,它可以保存中間過(guò)程量在瀏覽器上面。比如,要注冊(cè)一個(gè)新用戶,我們往往在第一頁(yè)上填寫用戶名,然后第二頁(yè)填寫聯(lián)系方法,第三頁(yè)填寫相關(guān)的個(gè)人資料,這樣三頁(yè)就需要傳遞數(shù)據(jù),以前通常的方法是在 <input>里面 hidden一個(gè)數(shù)據(jù),現(xiàn)在通過(guò)State就好辦多了。

  關(guān)于State,我們不做很多的介紹,如果您感興趣,可以參看http://www.fmexpense.com/quickstart/doc/stateoverview.aspx#sessionstate 這是它的官方說(shuō)明,也比較模糊。

  6.5 Global.aspx

  ASP.net中,為了突出和ASP的區(qū)別,特別將Global.asp改成Global.aspx 但功能沒(méi)有很大的變化。
例子:

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

  這個(gè)非常簡(jiǎn)單了。