在wcf服务操作返回其结果后调用方法

JPJ*_*PJY 8 wcf

我有一个WCF服务操作,我想调用该操作来启动一个长时间运行的方法,但我希望操作在长时间运行的方法完成之前返回其结果.

我已尝试使用IParameterInspector实现,但在长时间运行的方法完成之前,操作的结果不会返回给客户端.

我应该如何实现这一点,因为我从操作开始的任何事情似乎必须在结果返回给客户端之前完成?

谢谢.

Six*_*aez 0

您无法使用 WCF 中的标准请求/响应类型绑定来执行此操作,因为您发现,在服务完成处理(或超时)之前您不会收到响应。要执行您想要的操作,您需要一个服务,您可以在其中触发长时间运行的操作,然后轮询完成状态和响应结果。

netMsmqBinding 在 WCF 中支持这种情况。此绑定的所有操作都必须是单向调用,因为您只是将一条消息放入队列中进行处理。您需要为另一个端点或服务配置轮询方法的请求/响应绑定。这里是 netMsmqBinding 的一个很好的概述。