4

ディレクティブEnableSessionState="ReadOnly"が設定されたページがあります。

私が持っているとき:

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

次のリクエストはNULLを返します。

私が持っているとき:

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

次のリクエストは「TempVar」を返します

この動作を無効にすることはできますか?

4

1 に答える 1

0

これを行う理由は、Session[""]がget;set;を使用して配列にアクセスしているためです。enablesessionstateをチェックするように明らかに設定されていないアクセサ。つまり、基本的にはその配列に入れられますが、保存されません。明らかにチェックインされている.Add()関数とは対照的です。get;set;のオーバーヘッドを減らすためにおそらくそのようになります。プロパティ。

他の誰かが言ったように、あなたは同じリクエストでそれを見るかもしれませんが、それはセッションに保存されません。

于 2012-10-05T01:56:44.200 に答える