我正在使用 WCF。
我有两个应用程序:“Main”和“Worker”。
有时应用程序“Main”正在为“Worker”分配任务。“工人”正在工作,当工作完成时,它会给“主要”带来结果。
这种沟通应该如何进行?
我需要从 Main 调用 Worker.AddTask(Task),从 Worker 调用 Main.AddResult(Result)。有比设置两个服务更好的方法吗?
我正在使用 WCF。
我有两个应用程序:“Main”和“Worker”。
有时应用程序“Main”正在为“Worker”分配任务。“工人”正在工作,当工作完成时,它会给“主要”带来结果。
这种沟通应该如何进行?
我需要从 Main 调用 Worker.AddTask(Task),从 Worker 调用 Main.AddResult(Result)。有比设置两个服务更好的方法吗?
每次对“Worker”的调用最终都会以“Main”的结果结束吗?如果是这样,您可能只想让“Main”异步调用“Worker”,“Main”可以等待结果然后回来。请参阅:http: //msdn.microsoft.com/en-us/library/ms730059.aspx
这对于 WCF 的回调来说听起来很经典——它允许服务器和客户端之间进行双向异步通信(在您的情况下,服务器将是“工作人员”,而“主”应用程序将调用其方法以开始处理。当worker 完成后,它将在 main 上调用回调。)
LMGTFY :)
假设两个应用程序是独立的进程并通过服务进行通信......
我认为您可以使用netTcpBinding和Callback 合同