- Login
帳號:
密碼:
ASP MENU
線上教學
   ASP 教學
VB.NET 教學
JSP 教學
JAVA 教學
完整 ASP 教學
程式下載
   ASP 程式下載
提供 ASP 程式
程式量身訂做
   收費標準
填寫需求表
討論交流專區
   程式討論區
電腦資訊交流
工作機會
   社會人就職情報
汎亞人力銀行
大台中人力銀行
大高雄人力銀行
相關連結
   ASP 虛擬空間
ASP 相關網站
聯絡我們
   意見信箱
加入會員程式討論區線上購物回首頁
ASP 教學
親密接觸ASP.Net(15)
ASP.Net中狀態保存

在ASP保存一些共享、個人狀態,使用的是Application、Session、Cookie這三種。呵呵。在ASP.Net中M$除了繼承Application等外,又給我們新的一種狀態變量信息State,它是用來保存WEB控件的狀態的變量,很新鮮吧,一定要快點知道啦:)

不好意思,飛刀還是從原始一步步來說吧。先從Application講起。(台下一片吼聲),沒有辦法,為了有個階梯性,還是不應當過早接觸新東東啦:)

Application

在ASP.Net中Application用法與ASP是一樣的,幾乎是沒有什麼說的,但是它多了兩個特別有用的事件,Application_OnBeginRequest和Application_OnEndRequest。他們的和原來的Application_OnStart和Application_OnEnd一樣是放在global文件中的(注意這個文件在ASP中名字是global.asa,在ASP.Net中是global.asax)。

注:這個事件,寫不寫On是一樣的。如Application_End與Application_OnEnd是一樣的

Application_OnStart是在整個ASP.Net應用首先被觸發的事件,也就是在一個虛擬目錄中第一個ASP.Net程序執行時觸發,Application_OnEnd就正好相反,在整個應用停止時被觸發(通常發生在服務器被重啟/關機時)。Application_OnRequestStart和Application_OnRequestEnd則是在每一個ASP.Net程序被請求時就發生,也就是說客戶訪問一次一個ASP.Net程序,這兩個事件就會被觸發。我們可以從下面的程序看到他的應用.我們先建立一個global.asax,內容如下:

<script language="C#" runat="server">

void Application_OnBeginRequest(Object sender, EventArgs E)
{
Response.Write("Request is Starting...<br>");
}

void Application_OnEndRequest(Object sender, EventArgs E)
{
Response.Write("Request is Ending...<br>");
}

</script>

然後將其放到本虛擬目錄的根目錄下,然後我們隨便打開一個什麼aspx文件,這塈畯怚普}named.aspx文件,看看:



圖19-1

看到沒有,這個頁面的上面和下面出現了我們在global.asax中定義的語句Request is Starting...和Request is Ending...這個不是我們在這個文件中獨加的,我們將會再任何一個ASP.Net文件中看到它的影子。

Session

ASP.Net中的Session是我見過最好的處理,是其它動態網頁技術不能比擬的。ASP.Net中的Session再也不需要Cookies的支持,也就是說如果用戶關閉了Cookie,Session的值一樣也可以被保存。

不過,我們需要對config.web文件進行一些配制,因為在其中找到關於Session的設置文本,如:

<sessionstate
cookieless="false"
/>

把cookieless="false" 改成cookieless="true" ,那麼以後Session就不儲存在cookies中了,而在儲存在URL中。



圖15-2

上面的黑圈中的東東就是儲存的Session值,當然這是被編碼的,我們無法知道它的直實值。

其實,我發現,不用改config.web文件,關掉cookies後,不用URL也照樣能傳遞session值,這種情況下Session是如何保值的,這個就不太清楚了:)

Session還可保持不死之術,就是當服務器重啟,還是能保證Session中的值不變,不過這又要改動config.web文件。也是通過下面的語句設定.

<sessionstate
inproc="false"
server="localhost"
port="42424"
/>
是不是發現這堛搴ession是不是很強大啊:),把localhost改成您要的主機,Session還能在另外一台主機上保持。




頂端
本網頁最佳瀏覽模式為:瀏覽器 IE4.0 以上    解析度: 800 x 600
Copyright © 2000-2019 COOLASP All Rights Reserved