Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 会话中的引用对象_C#_Session State - Fatal编程技术网

C# 会话中的引用对象

C# 会话中的引用对象,c#,session-state,C#,Session State,如果在会话中保存了对象列表,则当由于对象声明为引用类型而向列表中添加新对象时,会话将自动更新。。为什么从列表中删除项目时情况不同?首先,这取决于会话状态模式。您的想法是进程内模式或其他一些将对象存储在内存中的自定义模式 另一方面,从会话状态中删除对象并不意味着您杀死了它。它只是一个对象的集合,就像任何其他对象一样(f.e.列表) 对象由垃圾收集器销毁并从内存中删除 您可以在这篇MSDN文章中阅读有关垃圾收集器的更多信息: 我正在使用SQLServer模式。是的,我知道GC的行为。。我的问题是

如果在会话中保存了对象列表,则当由于对象声明为引用类型而向列表中添加新对象时,会话将自动更新。。为什么从列表中删除项目时情况不同?

首先,这取决于会话状态模式。您的想法是进程内模式或其他一些将对象存储在内存中的自定义模式

另一方面,从会话状态中删除对象并不意味着您杀死了它。它只是一个对象的集合,就像任何其他对象一样(f.e.列表)

对象由垃圾收集器销毁并从内存中删除

您可以在这篇MSDN文章中阅读有关垃圾收集器的更多信息:


我正在使用SQLServer模式。是的,我知道GC的行为。。我的问题是,为什么会话没有更新(列表仍然包含已删除的项),而在添加的情况下,即使没有显式更新会话,会话也会得到更新您可以更好地重新编写问题吗?很难想象你在项目中做了什么。。。谢谢