ASP.NET的Session.Remove(key)'v/s'Session(key)= nothing'

Sri*_*lan 15 asp.net session

我看到开发人员在完成会话对象时会使用两种方法.

1)Session.Remove(key)

2)会话(关键)=没有

上面两个更好的方法是什么?Session.Remove会自动处理存储的对象吗?

第二种方法是否依赖于垃圾收集器来实际释放内存?

编辑:谢谢你的回复,伙计们.看起来像Session.Remove是正确的方法.但是,如果Session.Remove不保证对象的处理,那么当我们不需要它时,处理会话中存储的对象的最佳方法是什么?

谢谢.

Ed *_*d B 19

如果将对象设置为null或不设置,则即使值为,密钥仍然存在于会话中null.

此行为与CLR中的任何其他字典类型相同.

如果要从Session中完全删除对象,则应使用该Session.Remove("key")方法.

如果会话中没有密钥,它不会抛出异常.

  • 感谢您添加,如果不存在密钥,它将不会引发异常! (2认同)