我有一项WF服务,我正在尝试设置,以“订阅”和“取消订阅”活动。我正在使用 这个WF耐用的双工教程 作为基础,因为我的服务对客户进行回调。基本上,将其视为聊天服务。

我可以对两个接收活动进行呼叫,这很好。发生的事情是客户的回调地址传递给服务上的subscribe()。该地址存储在WF服务中,并且一切看起来都可以预期。

当客户端调用unsubscribe()时,调试期间我在地址var上设置的手表显示为 null. 。那给什么呢?

这是我的WF服务布局的基本设置...

一切都包裹在杂乱无章的活动中。内部是一个选拔活动和两个挑选分支。第一个分支是用于订阅活动。它具有接收屏蔽活动,该活动将客户端传递的字符串分配给WF地址var。第二个分支处理取消订阅。触发器是请求活动,客户地址再次传递。

从那里开始,从if开始。它检查以查看是否 unsubscribeAddress 等于 address 已经订阅。如果是这样,那么它将设置 addressString.Empty 并将成功消息发送回客户。

为什么会隐式分配给NULL的范围内的变量?我正在尝试使此功能正常工作,以便我可以从那里实现多个客户端订阅者,并处理触发器,这些触发器将回调回到多个客户端。

Concat编辑: 我设置了一个断点,在Dowhile级别,我的var一次为空 Unsubscribe() 叫做。什么时候 Subscribe() 被调用,手表一直在VAR中显示一个值。直到我 Unsubscribe() 与客户。我应该使用一段时间的活动吗?

有帮助吗?

解决方案 3

哇,好吧,可怕的东西。我不得不较早地编辑XAMLX文件,当我切换回活动设计师时,我为SendReplyToreceive编辑的引用保存得很有趣。看起来我有两个 Unsubscribe()不仅如此,而且每个分支的相关处理都在分支之间交叉。

我现在都设置了。为了解决该问题,我删除了所有消息传递活动,掉进了新的消息 ReceiveAndSendReply 活动1分支1的动作块。然后,我将接收活动拖到分支1的触发器上,并像以前一样对其进行配置。我对分支2做了同样的事情,除了我将sendreplytoreceive活动放在我的IF活动下方,该活动验证了匹配地址。

其他提示

没有看到工作流程,我只能做几个猜测,但是我要寻找的东西是:

  1. 变量范围是序列的序列还是陶式活动中的东西?顺便说一句,没有任何好处将其更改为一段时间的活动,唯一的区别是该条件在开始时或结束时进行了测试。
  2. 是其他地方使用的变量,并以这种方式清除。尝试重命名它,看看给出了什么。
  3. 游戏中是否有坚持,并且类型不持久>我认为它是字符串或URI,两者都应该很好。
  4. 相关性是否存在问题,您的退订消息是否通过不同的工作流程处理?母马确保cancreateinstance设置为错误。

尝试使课堂范围私人{get;设置;}并查看问题是否仍然抬起头来,那就是我能做的最好的事情,而无需看到实际的源代码,因为您所描述的是我看不到任何问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top