网站首页/技术开发列表/内容

全域變數的考量

技术开发2022-06-26阅读
當我們利用Visual Basic在製作Client-Server架構的應用程式時,如果遇到需要跨表單傳遞的變數或者是常數,我們可以利用module的方式設定全域的變數。但是在Web Application中要使用全域變數,就沒有那麼容易了。HTTP是一個無狀態(stateless)的通訊協定,伺服器只能和使用者建立要求(Request)和回應(Response)的關係,並無法為使用者保留工作階段中的狀態。如果要傳遞參數的話,我們只能用表單(Form)或URL String的方式去傳遞。這樣的傳遞方式會有其限制:首先,如果是關於整個應用程式的一些系統變數或常數,我們必須要有一個機制,使得使用者一登入時就可以得到這些環境變數。而表單或URL字串的需要先將資料存放在資料庫或其他儲存的機制中,當使用者登入該檔案時才能獲得。但是我們知道,系統變數是可以隨著應用程式的執行而改變的,使用表單或URL的字串我們必須要在程式傳遞時去考慮這些變數。例如一個網站的記數器的總人數,如果我們利用文字檔來製作的話,我們必須常常去開啟該文字檔,造成程式執行效率不佳。 再者,如果我們將所有的ASP程式之前都加入表單來傳遞參數的話,當這些參數在網路上傳遞時,都會有被人擷取的安全考量。因此,若能由伺服器端提供一個機制來傳遞這一類全域變數,這些問題都將可以解決。 ASP Engine提供了兩個Server端的物件供我們做全域參數的傳遞,Application物件以及Session物件。Session物件將在後面的章節中再做說明,讓我們先看看Application物件。

……

相关阅读