Webservice:AsyncCall完成:但WaitOne()仍在等待
问题描述:
- 我正在通过Command Line Exe调用WebService方法。
- 此方法调用是异步调用,我在调用后使用WaitOne。
- 我在完成方法中执行ManualRest.Set()。
上述安装方法的效果的,其中异步方法返回withing 10-20 mintues病例细99%,Webservice:AsyncCall完成:但WaitOne()仍在等待
问题时 当异步调用需要花费更多的像2-3小时的时间,则WaitOne()之后的代码没有被执行。
我在waitone()之前和之后以及在Completed事件中写入日志,但是在异步调用3小时后,控件似乎没有回来。
上面的任何帮助/指针...
谢谢。
答
你确定Set被调用吗?你在用System.Diagnostics.Process
吗?请张贴您在问题中使用过程的代码。
使用进程时,创建死锁的风险非常高,特别是如果您使用MSDN上的代码示例来向您展示如何同步读取StandardIn和StandardOut。
请尝试使用异步读取方法来避免死锁。
+0
感谢您的快速回复!是的,我正在使用System.Diagnostics.Process,至今未使用BeginOutputReadLine,将尝试... – Baljeetsingh
请张贴的只是描述它的一些代码来代替。细节很重要,当你用自己的语言描述你的代码时,它们会迷失方向。 –