有没有办法验证NHibernate是否已经释放了Session?
我有一个Session的包装类,它有自己的Finalizer和IDispoable实现,但是如果Session在我处理它之前被释放,我会收到ObjectDisposedException。
我真的不想用以下方式包装我的清理代码:
try {
...
}
catch (ObjectDisposedException) { }
但是我不确定是否有其他方法。 Session.IsOpen和Session.IsActive属性似乎没有提供任何可靠的信息,我可以确认会话是否已被处理。
您可以在Assembla上查看完整源代码。