我可以这样修改ASP.NET会话对象吗?

use*_*687 4 asp.net

想象一下,我有一个"Employee"类的实例(oEmp),我想存储它的会话.

Session["CurrentEmp"] = oEmp;
Run Code Online (Sandbox Code Playgroud)

如果我在oEmp中修改属性,如下所示:

oEmp.Ename = "Scott";
Run Code Online (Sandbox Code Playgroud)

我是通过上述声明引用会话项目还是只是"oEmp"?

Session["CurrentEmp"] = oEmp; //Do we still need this after any property is modified
Run Code Online (Sandbox Code Playgroud)

如果我选择SQL Server会话状态(而不是InProc),那是相同的情况.

谢谢

Joe*_*zer 7

Asp.net Session将保留引用,因此您不需要执行以下操作:

Session["CurrentEmp"] = oEmp;
Run Code Online (Sandbox Code Playgroud)

修改oEmp后;