【问题标题】:Check if client is connected to Workflow Service检查客户端是否连接到工作流服务
【发布时间】:2013-03-13 14:39:33
【问题描述】:

我想编写一个这样的自托管 .NET 工作流服务:

(http://i.stack.imgur.com/Hij20.png)

但是我如何确定客户端是否还活着? WCF 绑定的 InactivityTimeout 似乎没有触发。我可以编写一个超时函数(测量上次请求与现在之间的时间)。但这并不能确保客户端断开连接,而不仅仅是空闲。 .NET Framework中没有通用的方式吗?

谢谢。

【问题讨论】:

  • 工作流服务是 WCF 服务,您本身并不连接到 WCF 服务。客户端调用服务方法并(通常)收到响应。客户活着是什么意思?
  • @Jota 服务实例通过循环保持活动状态,直到调用 ExitWf。因此客户端可以按随机顺序多次调用这些函数。但是如果客户例如永远不会调用 crash ExitWF 并且永远不会删除实例

标签: .net wcf workflow workflow-foundation-4 workflowservice


【解决方案1】:

您从某个地方运行此服务,并且您必须运行服务器才能从该服务获取响应。您可以使用以下代码制作回调服务器:

 var host = new ServiceHost(serviceCallback, new Uri("localhost:8080"));

然后在服务中你需要将信息发送回这个地址。因此您可以在调用者客户端中动态跟踪服务的当前状态。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    • 1970-01-01
    相关资源
    最近更新 更多