Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WCF客户端回调_Wcf - Fatal编程技术网

WCF客户端回调

WCF客户端回调,wcf,Wcf,我有两个Winform应用程序(每个运行在不同的计算机上),它们通过WCF进行通信,基本上遵循客户机/服务器模型。客户端将在通道上发送一个JSON数据包,WCF服务处理传入的请求。WCF服务有一个自定义事件处理程序,当服务接收到这个新的传入数据包并且服务器应用程序订阅这些事件时,会触发该事件处理程序,以便可以通知它。当事件处理程序启动时,它将解析后的JSON数据包传递给服务器应用程序,然后服务器应用程序运行一个长进程,该进程在一个单独的线程中启动(使用backgroundworker),以便不锁

我有两个Winform应用程序(每个运行在不同的计算机上),它们通过WCF进行通信,基本上遵循客户机/服务器模型。客户端将在通道上发送一个JSON数据包,WCF服务处理传入的请求。WCF服务有一个自定义事件处理程序,当服务接收到这个新的传入数据包并且服务器应用程序订阅这些事件时,会触发该事件处理程序,以便可以通知它。当事件处理程序启动时,它将解析后的JSON数据包传递给服务器应用程序,然后服务器应用程序运行一个长进程,该进程在一个单独的线程中启动(使用backgroundworker),以便不锁定服务器应用程序UI。所以这些东西我都能用

但是,现在我需要做的是弄清楚如何在backgroundworker线程完成其进程时向客户机发送回调消息,让他们知道一切都已完成。服务器知道发送消息的客户端的IP地址,因为我添加了该属性作为最初发送的JSON数据包的一部分。但是,我不知道在这个例子中如何让服务器将信息发送回客户机。我已经阅读了教程,我知道我可以简单地在客户端用于将数据发送到主机应用程序的函数上添加一个返回变量。。。但在本例中,我认为这不起作用,因为我必须等待一个单独的线程完成,然后才能发送返回变量。有人能提供一个建议吗

您正在寻找WCF,它是双向的(客户端可以发送和订阅服务)


MSDN上有一个详细介绍:。

Brad您认为您的帖子可能会对其进行总结吗?谢谢