我在 Win Form 应用程序中有两个进程。在第一个过程中,我有一个方法"checkIfTrue",它的返回值为布尔值。第一个进程中的方法将通过 IPC 从第二个进程中获取一些信息(我将 WCF 与命名管道一起使用(,并将返回 deand 来自第二个进程的信息 true 或 false。
我的问题如何中断第一个进程?该方法在第一进程中向第二进程询问信息,当第二进程获取信息并将结果发回给第一进程时。在第一个过程中,在方法"checkIfTrue"完成之前,结果将不会被处理。
第二个过程将通过IPC调用方法"syncResults"并传输结果。方法"syncResults"将结果存储在ConcurrentDictionary中。我的计划是在第一个进程中停止方法"checkIfTrue",直到字典被填满。但是方法"syncResults"在方法"checkIfTrue"完成之前不会被IPC调用。
通常,当结果从进程 2 发回时,我会触发一个事件,但在这种情况下,我需要在方法完成之前获得结果。
它不起作用的主要原因是我的回调服务类。我忘了在课堂上评分
[CallbackBehavior(UseSynchronizationContext = false, ConcurrencyMode = ConcurrencyMode.Multiple)].
从服务到客户端进行回调时,只会生成一个线程,因为默认情况下并发模式设置为"单个"。
这是[链接](https://blogs.msdn.microsoft.com/dsnotes/2013/09/18/wcf-callback-operations-are-invoked-sequentially/(