ASP.NET講座(6)-ASP.NET的幾種主要文件
發(fā)表時間:2024-06-16 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]使用ASP的同仁們一定經(jīng)常使用這些東西,因為不管什么產(chǎn)品的開發(fā)都離不開與用戶的互動,而在ASP中,他們?nèi)齻,正是互動的橋梁! SP.net中,他們也受到了足夠的重視,但改變不是很大。 6.1 Application Application的生命周期 Application的生命周期,...
使用ASP的同仁們一定經(jīng)常使用這些東西,因為不管什么產(chǎn)品的開發(fā)都離不開與用戶的互動,而在ASP中,他們?nèi)齻,正是互動的橋梁。
ASP.net中,他們也受到了足夠的重視,但改變不是很大。
6.1 Application
Application的生命周期
Application的生命周期,并不是是從IIS5開始啟動的那一刻開始,而是從客戶對服務(wù)器發(fā)出第一個Request的那個時候開始的。從那時開始一個名叫HTTPApplication的Pool開始建立,這也是Application生命周期(lifetime)的開始。此時Application_OnStart的事件也發(fā)生了。直到Application_OnEnd的事件發(fā)生,才是Application生命周期的結(jié)束。
Application寫的網(wǎng)站計數(shù)器
<%
Application.Lock()
Application("counter") = CType(Application("counter") + 1, Int32)
Application.UnLock()
%>
與ASP中還是一樣的。
Application 與ASP中的不同的地方
Application與ASP不同的地方在于 新多了兩個事件 Application_OnRequestStart()和Application_OnRequestEnd() 這兩個事件,在用戶開始瀏覽一個aspx文件,和aspx文件運行結(jié)束時觸發(fā),也就是說,這兩個事件,不是針對整個服務(wù)器來說的,而是對于單個程序來說。
6.2 Session
在ASP中,我們都知道,如果用戶把瀏覽器上面的Cookies關(guān)掉,那么Session就不可能被傳遞了,ASP.net針對這個問題,提出Session的傳遞應(yīng)該脫離Cookies。我們修改一下config.web,還記得這個文件嗎?ASP.net的無安裝化程序移植的精髓,都在這樣的一個文件中。
修改如下地方:<sessionstate cookieless="false" /> 改為True就可以了
其他地方 Session和ASP沒有什么區(qū)別。
6.3 Cookies
這里和ASP就有一些區(qū)別大家注意了。
建立一個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
這個是一個全新的東西,它可以保存中間過程量在瀏覽器上面。比如,要注冊一個新用戶,我們往往在第一頁上填寫用戶名,然后第二頁填寫聯(lián)系方法,第三頁填寫相關(guān)的個人資料,這樣三頁就需要傳遞數(shù)據(jù),以前通常的方法是在 <input>里面 hidden一個數(shù)據(jù),現(xiàn)在通過State就好辦多了。
關(guān)于State,我們不做很多的介紹,如果您感興趣,可以參看http://www.fmexpense.com/quickstart/doc/stateoverview.aspx#sessionstate 這是它的官方說明,也比較模糊。
6.5 Global.aspx
ASP.net中,為了突出和ASP的區(qū)別,特別將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
這個非常簡單了。