由於「靜態」變量由類的所有實例共享,因此我想知道它們是否通過網站的所有打開頁面共享?ASP.NET網頁的.aspx.cs文件中的私有靜態變量
例如:比方說,我有以下幾點:
private static string SelectedName = "";
protected void SendButton_OnClick(object sender, EventArgs e)
{
SelectedName = NameTextBox.Text;
DisplayLabel.Text = SelectedName;
}
// ... other functions that depend on SelectedName's value
如果兩個人在「鮑勃」在名稱文本框中打開我的網頁..用戶#1類型和點擊發送。用戶#2在其他位置現在打開該頁面。他們會將「Bob」視爲DisplayLabel的文字嗎?
你沒有嘗試過嗎? – Arran
我做了,看起來答案是否定的,但我不想做出任何假設。我也希望得到某種解釋,因爲它違背了我所教導的靜態變量在所有實例中共享的內容。 –
@cskoala有些事情會使問題變得複雜,例如您是否有多個Web前端,當然在雲環境中您幾乎肯定會這樣做。在雲環境中,你可能根本不應該使用靜態變量。如果您需要在用戶之間共享狀態,那麼ASP(或您的提供者)專門爲此提供了構造。 – Servy