2010-07-20 64 views
0

我很困惑如何在會話中引用對象,如何更新和複製。如何在會話中創建對象的副本以更新而不更新會話?

如果我創建 MyObject obj = new Object();
then Session [「object」] = obj;

MyObject temp = (MyObject)Session["object"]; 

如果我改變溫度的東西,會在會話對象進行更新?

我是否需要按照Session [「object」] = temp的更改 ?

謝謝!

回答

0

您不需要將temp變量存儲回會話。由於Session["object"]temp變量都指向同一個對象,所以在temp中修改它也會在Session中修改它。

2

如果MyObject是一個引用類型(class),並且如果它是可變的(即它有改變它的狀態的方法),那麼每次都不需要重新分配Session。

如果MyObject是一個值類型(結構體),如果它是不可變類(如String),則每次更改它時都必須將其重新分配給會話。