1

我正在使用 WCF。

我有两个应用程序:“Main”和“Worker”。

有时应用程序“Main”正在为“Worker”分配任务。“工人”正在工作,当工作完成时,它会给“主要”带来结果。

这种沟通应该如何进行?

我需要从 Main 调用 Worker.AddTask(Task),从 Worker 调用 Main.AddResult(Result)。有比设置两个服务更好的方法吗?

4

4 回答 4

2

每次对“Worker”的调用最终都会以“Main”的结果结束吗?如果是这样,您可能只想让“Main”异步调用“Worker”,“Main”可以等待结果然后回来。请参阅:http: //msdn.microsoft.com/en-us/library/ms730059.aspx

于 2012-09-07T15:28:06.457 回答
1

这对于 WCF 的回调来说听起来很经典——它允许服务器和客户端之间进行双向异步通信(在您的情况下,服务器将是“工作人员”,而“主”应用程序将调用其方法以开始处理。当worker 完成后,它将在 main 上调用回调。)
LMGTFY :)

于 2012-09-07T15:27:51.973 回答
0

这需要两个组件之间的双向通信。我提供的第一个链接是 MSDN 中的描述,第二个链接指向一个实现示例。享受。

MSDN 文章

示例链接

于 2012-09-07T15:31:04.443 回答
0

假设两个应用程序是独立的进程并通过服务进行通信......

我认为您可以使用netTcpBindingCallback 合同

于 2012-09-07T15:27:50.777 回答