我已经看到开发人员使用两种
方法完成了会话对象.
1)Session.Remove(key)
2)Session(key)= nothing
上面两个更好的方法是什么? Session.Remove是否处理自动存储的对象?
第二种方法是否依赖于垃圾收集器来实际释放内存?
编辑:
谢谢你的回应,伙计们.看起来像Session.Remove是正确的方法.但是,如果Session.Remove不保证对象的处理,那么当我们不需要它时,处理存储在会话中的对象的最好方式是什么?
谢谢.
如果将对象设置为空或无效,那么密钥仍然存在于会话中,即使该值为空.
此行为与CLR中的任何其他字典类型类相同.
如果要从Session中完全删除对象,则应该使用Session.Remove(“key”)方法.如果密钥不存在于会话中,它不会抛出异常.