我有一个C#应用程序,它在消息中遇到了ObjectDisposedException



一旦启动应用程序,就会发生这种情况。

遗憾的是,堆栈跟踪确实没有帮助(请参见下文)。我有什么办法可以确定在这里异步尝试哪个 call 吗?

DoAsyncCall()是否真的暗示了异步方法调用?

最佳答案

该问题是由于我使用了using(){}块引起的。

    using (WaitHandle handle = asyncResponse.AsyncWaitHandle)
    {
      asyncResponse.AsyncWaitHandle.WaitOne();
      string response = asyncRequest.EndInvoke(asyncResponse);
      asyncResponse.AsyncWaitHandle.Close();
      return response;
    }

当调用线程中断时,using块仍在WaitHandle上调用Close。

10-06 13:06