0
我在应用程序缓存中保留一个全局对象,根据我的需要检索和修改它。奇怪的是,一旦我修改了检索的对象,应用程序对象也被修改了。我不想修改应用程序对象。当检索对象被修改时,应用程序对象被修改
System.Web.HttpContext.Current.Application["obj2"]=obj2;
像
object obj1 = System.Web.HttpContext.Current.Application["obj2"];
,当我修改OBJ1的OBJ 2是越来越修改过。你们可以为我解决上述问题吗?
考虑在检索对象时克隆对象。你在应用程序中存储什么样的对象? –
您正在应用程序缓存中存储类的实例。将该实例分配给变量不会创建该实例的副本。它*是*实例。这是正确的和预期的行为。 – Amy
回到基础:.NET中的引用vs值类型(http://www.albahari.com/valuevsreftypes.aspx)。 –