Web服务:AsyncCall已完成:但WaitOne()仍在等待
本文关键字:WaitOne 在等待 服务 AsyncCall 已完成 Web | 更新日期: 2023-09-27 18:12:07
- 我正在通过命令行Exe调用WebService方法
- 这个方法调用是异步调用,我在调用之后使用WaitOne
- 我正在使用已完成的方法执行ManualRest.Set((
上面的设置在异步方法在10-20分钟内返回的99%的情况下都很好,
出现问题当异步调用花费更多的时间(如2-3小时(时,则不会执行WaitOne((之后的代码。
我在waitone((之前和之后以及Completed事件中都写日志,但经过3个小时的异步调用后,控件似乎没有返回。
上面的任何帮助/指针。。。
谢谢。
您确定正在调用Set吗?您正在使用System.Diagnostics.Process
吗?请公布您在问题中如何使用流程的代码。
在使用进程时,创建死锁的风险极高,尤其是如果您使用MSDN上的代码示例来演示如何同步读取StandardIn和StandardOut。
请尝试使用异步读取方法来避免死锁。
Process.BeginOutputReadLine
Process.BeginErrorReadLine