asp.net - C#会话变量被引用修改?

时间:2009-08-20 17:38:13

标签: .net session-variables

当我从session修改局部变量集时,看起来我的会话对象中的值发生了变化。

设定:

.net 2.0

BasePage从会话中检索复杂对象,对其进行强制转换,并将其存储在类级别变量中。 子页面使用类级别变量来播放一些可选方案。用户决定不保留更改,会话对象不会从变量更新,但是当您从会话中检索值时,它包含那些未保存的更改。

在查看会话对象的调试模式中,它会在本地对象更改的同时发生更改。

谢谢!

1 个答案:

答案 0 :(得分:1)

您正在返回对会话中对象的引用,因此这应该是如何工作的。如果要使用其他对象,则应在会话中复制该对象,然后在用户决定接受更改的情况下,将该会话中存储的对象替换为克隆。