ASP 3.0進階編程(六)
來源:互聯網
上載者:User
第3章 ASP應用程式與會話
在前面的章節中介紹了ASP提供的訪問一個客戶請求和產生響應的方法,本章將討論ASP的另兩個對象。就是Application和Session對象。這兩個對象不是直接地與請求和響應的管理有關,而是更多地與ASP網頁運行環境的管理相關。
與建立Web網站或Web應用程式有關的共同問題之一,是使用HTTP協議時沒有狀態。狀態提供了與一個指定使用者有關的變數值、對象和其他資源,並且應用程式中的任意常式都能使用它;以一種像VB或C++這樣的程式設計語言編寫一般的基於客戶的應用程式時,使用狀態可以完成一些相應的工作。然而,Web並不提供這種能力。在本章中,讀者將看到為什麼和如何避免這個問題。
本章還涉及到一些術語和技術問題。它迄今為止,本書中已經簡單地討論了“Web應用程式”,但沒有真正確切地理解或準確定義它們到底是什麼。本書也涉及到了“使用者會話”,也沒有相應的比較完全的描述。前面有意地省略這方面的內容,因為它們與ASP的應用程式和會話密切相關。下面將介紹ASP的Application和Session對象。
本章研究的主要內容:
· Web應用程式是什麼,以及它們如何與ASP Application對象相聯絡。
· ASP如何自動地建立和管理應用程式和會話。
· Application和Session對象提供的功能。
· 如何把Application和Seesion對象放入ASP網頁中。
首先研究整個內容的核心問題:狀態。
3.1 Web上的狀態管理
許多開發人員把應用程式傳送到Web之前從來沒考慮狀態的概念。正如前面說過的,Web是一個無狀態的環境。因此應該探討一下狀態是什麼,瞭解能夠避免產生問題的方法。
3.1.1狀態的準確定義
在單使用者程式中,建立一個可執行檔應用程式時,例如使用VB建立一個.exe檔案,可以聲明一個全域(或Public)變數,然後在代碼中任何地方可對其進行訪問。在應用程式啟動並執行所有時刻,時刻值一直是有效,並且是可訪問的。
對於一個傳統的客戶機/伺服器解決方案,例如一個基於客戶機的應用程式對一個基於伺服器的資料庫引擎進行訪問的系統,每個用戶端建立了一個與伺服器和資料庫應用程式的串連。這種串連通常是通過驗證使用者的方法來建立的。
驗證過程是典型的識別使用者身份的過程,通過一個使用者名稱和口令組合來證明是否為合法的使用者。
一旦通過驗證,在用戶端和基於伺服器的應用程式之間就建立了串連,該串連在使用者使用該應用程式的所有時間內一直保持有效。當使用者註冊到酵Windows 2000伺服器上時,這一切便會發生。無論何時,管理員使用“Active Directory Users and Computers”公用程式(單擊“Start”菜單的“Administrative Tools”選項中的“Directory Management”項)都可以觀察到活動的使用者串連。這個過程在許多系統中都相同,例如Microsoft SQL Server。