我对如何在会话中引用对象,如何更新和复制感到困惑。
如果我创造
MyObject obj = new Object();
然后
Session [“object”] = obj;
MyObject temp = (MyObject)Session["object"];
如果我在临时更改某些内容,会话中的对象是否会更新?
我是否需要按照Session [“object”] = temp进行更改 ?
谢谢!
答案 0 :(得分:2)
如果MyObject
是引用类型(类)并且它是可变的(即它具有改变其状态的方法),那么您不需要每次都使用它重新分配Session。
如果MyObject
是值类型(struct),如果它是一个不可变类(如String),则每次更改它时都必须将它重新分配给Session。
答案 1 :(得分:0)
您无需将temp
变量存储回会话。由于Session["object"]
和temp
变量都指向同一个对象,因此在temp
中修改它也会在Session中对其进行修改。