WCF WF服务端点停止响应

5

我有一个WorkflowServiceHost,我正在Windows服务中启动它。一切都运行良好,但是过了一段时间,服务停止响应请求。通过跟踪日志,可以看到发生异常 - 在这种情况下,仅通过加载元数据页面即可引发通信对象中止的异常:

The communication object, System.ServiceModel.Channels.TransportReplyChannelAcceptor+TransportReplyChannel, cannot be used for communication because it has been Aborted.

在跟踪文件中没有任何先前的日志表明存在问题。我们每分钟监视一次以确保它正常运行(因为出现了这个问题),我可以在元数据页面上看到许多成功的请求,然后突然之间它开始报告处于中止状态。
此时唯一恢复的方法是重启我的服务。我以前使用过WCF,但从未作为WF的前端使用过。我以前从未遇到过我的WCF服务出现这种问题,所以WorkflowServiceHost可能会发生什么问题?
谢谢!
更新:
以下是WCF的一些跟踪日志:

可能是由于防火墙或代理服务器引起的。 - Musketyr
奇怪的是,我们针对它设置了每分钟的 ping 来监视其状态,所以我不知道是否应称其为“非活动状态”。 - Matthew Bonig
我确定它没有触发我的WCF服务实现,只是元数据请求。请看我刚刚添加的截图。 - Matthew Bonig
这难道不是你正在寻找的东西吗?https://dev59.com/iXI-5IYBdhLWcg3wHUjP - Yaugen Vlasau
1
当未处理的异常被抛出时,通道将变为故障状态。我猜你有一个特定的工作流活动会导致异常,并且你没有正确地重新创建代理。这甚至可能是来自服务的超时,关键是发起请求的任何内容都需要新的代理。 - Chris Marisic
显示剩余6条评论
1个回答

0

这不是客户端的问题,而是服务器端的问题。 - Matthew Bonig
如果服务器端出现通道故障异常,则应中止客户端代理。 - Joe
我同意。然而,没有客户端代理。当对元数据进行简单的HTTP GET请求时,就会发生此故障,并且会一直失败,直到整个服务关闭并重新启动。 - Matthew Bonig
可能是因为触发了服务限流...... http://blogs.msdn.com/b/distributedservices/archive/2010/03/31/wcf-service-hung-how-to-debug-servicethrottle.aspx - Joe
1
如果限流导致异常并终止服务,那么我将放弃使用WCF和微软技术,转而成为一名机械师。 - Matthew Bonig

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接