即使EnableSessionState =“ReadOnly”,asp.net变量也会被设置

时间:2012-07-03 17:47:37

标签: c# asp.net session session-state

我有一个页面指令 EnableSessionState =“ReadOnly”已设置。

当我有:

this.Session.Add("MyVar","TempVar");

下一个请求返回 NULL

当我有:

this.Session["MyVar"] = "TempVar";

下一个请求返回“TempVar”

可以禁用此行为吗?

1 个答案:

答案 0 :(得分:0)

之所以这样做是因为Session [“”]正在使用get; set;来访问数组。访问器显然没有设置为检查enablesessionstate。所以基本上它放在那个数组中,但它没有得到保存。与明确检查它的.Add()函数相反。它可能就是为了减少get的开销;设置;属性。

正如其他人所说,你可能会在同一个请求中看到它,但它没有被保存到会话中。