WCF 超时 - 线程是否被终止或允许完成

标签 wcf timeout

假设我的 WCF 服务中有以下执行链:

ServiceMethod 调用并等待 Method1,然后调用并等待 Method2,后者调用并等待 Method3。最后 ServiceMethod 在返回之前调用并等待 Method4。

如果在方法 3(或任何这些方法)的执行期间服务的配置超时被击中,会发生什么?执行 ServiceMethod 的线程是否会立即终止?没有进一步的执行?还是进程允许线程继续到最后,不返回任何结果?

我关心的是知道在遇到超时之前处理进行了多远。如果允许线程完成,则可以知道无论如何都已完成(即使没有返回结果)。但是如果线程立即终止,则必须设计 ServiceMethod 以便可以跟踪它到达了多远,然后从那里再试一次。

最佳答案

允许该操作在服务器上运行完成 - 超时是 WCF channel 。事实上,有些人在这里询问了一种在超时发生时强制服务器端处理中止的方法,并且普遍认为干净地这样做会很困难:

Why doesn’t WCF support service-side timeouts?

关于WCF 超时 - 线程是否被终止或允许完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14693886/

相关文章:

c# - 将 ASMX 服务迁移到 WCF 服务 - AJAX 帖子

.net - 从 WCF REST Web 服务返回包装在回调函数中的 JSON

asp.net - 在 ASP.NET 和 Silverlight 2 之间共享 DAL 的最佳实践

javascript - 如何捕获动态更改的选择上的事件

javascript - 当我为它分配一个超时的处理程序时,为什么调整大小事件会不断触发?

c# - 套接字接收超时

c# - 无法获取证书消息凭据以在我的 WCF 服务中工作

wcf - WCF 是否支持对等实现?

javascript - 清除 'looped' 超时在函数中关闭 - 如何返回我能够清除它的间隔 ID

javascript - Playwright JS - 如果找不到元素/选择器,如何全局定义/更改超时?