如果我在網頁中聲明一個變量爲公共變量,該變量是否可以在不同的會話之間保持相同的值,或者每個會話都有自己的副本?公共變量作用域是針對所有會話還是每個會話都有其變量副本?
如果是的話會議之間舉行,如何防止呢?是否有聲明一個會話副本的屬性?
可能是它的一個愚蠢的問題?但我對某事感到困惑。
如果我在網頁中聲明一個變量爲公共變量,該變量是否可以在不同的會話之間保持相同的值,或者每個會話都有自己的副本?公共變量作用域是針對所有會話還是每個會話都有其變量副本?
如果是的話會議之間舉行,如何防止呢?是否有聲明一個會話副本的屬性?
可能是它的一個愚蠢的問題?但我對某事感到困惑。
該變量僅適用於單個請求,除非將其存儲在會話或緩存中。如果它是公開的,它將可用於請求期間創建的其他對象,但僅限於與請求關聯的那些對象。如果你聲明它是靜態的,那麼它將在應用程序的整個生命週期中可用 - 但這聽起來像你不想要的,所以簡單地避免這樣做。
變量作用域與會話之間持有的值沒有任何關係。
公共範圍只意味着該變量可以被應用程序中的任何其他代碼看到。
如果希望對象能夠跨會話存儲,則需要將其存儲在會話中。
1 + 2 =否。只需向頁面添加公共字段不會將其添加到會話中。會話之間不會保持相同的值。
你能告訴我們你面對的確切問題嗎?
在會話之間共享數據的唯一方法是將其存儲在數據庫或應用程序變量中。
所以如果它的靜態它會保持不同會話之間的相同值? – 2009-11-01 12:26:05
是的,如果它是靜態的,它將在整個應用程序生命週期中保持相同的值。但是你爲什麼要在頁面上聲明靜態變量? – 2009-11-01 12:28:15
我不想在自己的頁面中,但可能在頁面調用的類中 – 2009-11-01 12:29:21