从XAMLX创建WCF单向(即发即忘)服务或者如果操作没有单向定义,客户端如何以单向方式调用服务

时间:2011-12-13 20:22:40

标签: wcf workflow-foundation-4

我正在尝试创建一个可以解雇的XAMLX服务。

但是我如何使用XAMLX做类似的事情呢?我无法访问Contract Interface来添加[OneWay]属性。

我想如果我做了像

这样的事情

enter image description here

并将响应放在其余活动之前,服务将在该点返回,但事实并非如此。它仅在整个工作流程完成后返回。

  1. 是否可以在此时返回服务,而不是继续处理。其他活动不会影响服务的返回值。

  2. 是否可以创建一个火并忘记XAMLX服务

  3. 如果以前的2分不可能,我可以以某种方式让客户端像oneWay一样开始正常服务吗?

2 个答案:

答案 0 :(得分:1)

如果您希望单向处理,则Receive活动不应包含任何相应的SendReply活动。

答案 1 :(得分:0)

响应未立即发送的原因是工作流调度程序在内部等待工作流进入空闲状态的方式。您无法对调度程序做任何事情,但如果您在SendResponse下添加延迟,持续时间为1毫秒。

正如Ladislav所说,删除SendResponse并获得单向消息。

不太确定你想要的火与忘记。如果您启动工作流服务,即使您不向其发送任何更多WCF请求,它也将继续运行。即使它长时间运行或其他异步工作。没问题。