在調試傳統的ASP應用程序(並在同一時間學習傳統的ASP),我遇到了以下是什麼應用程序之間(「東西」)和Session(「東西」)
Application("Something") = "some value"
差異
和其他地方在代碼中這個值被如此使用:
someObj.Property = Session("Something")
怎樣的Application
對象涉及到Session
?
在調試傳統的ASP應用程序(並在同一時間學習傳統的ASP),我遇到了以下是什麼應用程序之間(「東西」)和Session(「東西」)
Application("Something") = "some value"
差異
和其他地方在代碼中這個值被如此使用:
someObj.Property = Session("Something")
怎樣的Application
對象涉及到Session
?
A Session
變量鏈接到用戶。一個Application
變量在所有用戶之間共享。
Application
是一個方便的保管庫,用於存儲您想要保存的內容,但不能保證它們始終存在。因此,請考慮低端緩存,短期變量存儲等。
在這種情況下,除了每次獲取和設置變量大致相同之外,它們與這些定義之間的關係很少。
注:使用Application
時,有可能併發問題(因爲你可以輕鬆擁有一個以上的用戶打的東西,讀出或寫入的話),所以我建議你使用Application.Lock
你寫之前和Application.Unlock
你後完成。這隻適用於寫作。
注2:我不確定它是否在請求完成後自動解鎖(這將是明智的),但我不會相信它。確保應用程序中可能發生爆炸的任何部分不在鎖內,否則可能會將其他用戶鎖定。
注意3:以同樣的方式,不要把那些需要很長時間的事情在鎖內處理,而只是在寫數據的位。如果您在鎖中執行某些操作需要10秒鐘,則會鎖定其他人。