在调试和本地测试我的应用程序时,我时不时地得到一个与a"SocketManger.cs" not found
相关联的System.ObjectDisposedException
。我之所以这样做,是因为在“异常设置”面板上,我完全选中了Common Language Runtime Exceptions
。
我无法弄清这个问题的根源,因为我一直按F10
,希望有一刻,调试器会带我去调用试图在已释放对象上执行的读/写操作。但那一刻永远不会到来…我可以在“调用堆栈”窗口中看到我正在向上堆栈,到达[External Code]
,但我无法返回到我的代码…
由于此问题经常发生,我需要完成此操作,因为这会损坏我的缓存或不返回已缓存的项,从而迫使我的应用重复工作…
我怎样才能弄清这个问题的真相?
最佳答案
为什么会得到objectDisposedException?当请求可能正在进行时,您是否正在释放基础连接?您是否正在执行这样的操作(https://gist.github.com/JonCole/925630df72be1351b21440625ff2671f#reconnecting-with-lazyt-pattern),需要在其中处理objectDisposedException?在这种情况下,您应该可以重试。