【发布时间】:2009-08-20 17:38:13
【问题描述】:
当我修改会话中的局部变量集时,我的会话对象中的值似乎发生了变化。
设置:
.net 2.0
BasePage 从 session 中检索一个复杂对象,对其进行转换,并将其存储在一个类级别的变量中。 子页面使用类级别变量来播放一些可选场景。用户决定不保留更改,会话对象不会从变量中更新,但是当您从会话中检索值时,它包含那些未保存的更改。
在调试模式下查看会话对象,它会在本地对象更改的同时发生变化。
谢谢!
【问题讨论】:
当我修改会话中的局部变量集时,我的会话对象中的值似乎发生了变化。
设置:
.net 2.0
BasePage 从 session 中检索一个复杂对象,对其进行转换,并将其存储在一个类级别的变量中。 子页面使用类级别变量来播放一些可选场景。用户决定不保留更改,会话对象不会从变量中更新,但是当您从会话中检索值时,它包含那些未保存的更改。
在调试模式下查看会话对象,它会在本地对象更改的同时发生变化。
谢谢!
【问题讨论】:
您在会话中返回对对象的引用,因此它应该是这样工作的。如果您想使用不同的对象,您应该在会话中创建对象的克隆以使用,然后如果用户决定接受更改,则用克隆替换存储在会话中的对象。
【讨论】: