我有一個頁面,其指令爲EnableSessionState =「ReadOnly」 setted。即使EnableSessionState =「ReadOnly」,設置了asp.net變量
當我有:
this.Session.Add("MyVar","TempVar");
下一請求返回NULL。
時,我有:
this.Session["MyVar"] = "TempVar";
下一個請求返回「的TempVar」
我可以禁用此行爲?
我有一個頁面,其指令爲EnableSessionState =「ReadOnly」 setted。即使EnableSessionState =「ReadOnly」,設置了asp.net變量
當我有:
this.Session.Add("MyVar","TempVar");
下一請求返回NULL。
時,我有:
this.Session["MyVar"] = "TempVar";
下一個請求返回「的TempVar」
我可以禁用此行爲?
它這樣做的原因是因爲Session [「」]正在使用get; set訪問數組;訪問者顯然沒有設置爲檢查enablesessionstate。所以基本上它被放入陣列中,但沒有得到保存。與.Add()函數相比,它明顯具有檢查功能。它可能就是爲了減少get的開銷; set;屬性。
正如別人所說,你可能會在同一請求中看到它,但它沒有被保存到會話中。
我的結論完全。我無法確認反光鏡 – user1499560
你想只爲這個頁面或整個webapp? –
只是這個頁面。我無法理解,爲什麼添加一個項目到「添加」的集合它只是暫時的,而設置一個項目它是「全球」 – user1499560
希望以下鏈接將對你有很大的幫助[http://stackoverflow.com/問題/ 4506273 /化妝會話只讀式-ASP淨編程方式ENABLESESSIONSTATE-只讀(http://stackoverflow.com/questions/4506273/make-session-readonly-on-asp-net-programmatically-enablesessionstate -readonly)[http://forums.asp.net/t/1375468.aspx/1](http://forums.asp.net/t/1375468.aspx/1) –