Webservice:AsyncCall完成:但WaitOne()仍在等待

问题描述:

  1. 我正在通过Command Line Exe调用WebService方法。
  2. 此方法调用是异步调用,我在调用后使用WaitOne。
  3. 我在完成方法中执行ManualRest.Set()。

上述安装方法的效果的,其中异步方法返回withing 10-20 mintues病例细99%,Webservice:AsyncCall完成:但WaitOne()仍在等待

问题时 当异步调用需要花费更多的像2-3小时的时间,则WaitOne()之后的代码没有被执行。

我在waitone()之前和之后以及在Completed事件中写入日志,但是在异步调用3小时后,控件似乎没有回来。

上面的任何帮助/指针...

谢谢。

+1

请张贴的只是描述它的一些代码来代替。细节很重要,当你用自己的语言描述你的代码时,它们会迷失方向。 –

你确定Set被调用吗?你在用System.Diagnostics.Process吗?请张贴您在问题中使用过程的代码。

使用进程时,创建死锁的风险非常高,特别是如果您使用MSDN上的代码示例来向您展示如何同步读取StandardIn和StandardOut。

请尝试使用异步读取方法来避免死锁。

+0

感谢您的快速回复!是的,我正在使用System.Diagnostics.Process,至今未使用BeginOutputReadLine,将尝试... – Baljeetsingh