gpt4 book ai didi

wcf - 使用 ConcurrencyMode.Multiple 模式保留 WCF 服务中的消息顺序

转载 作者:行者123 更新时间:2023-12-04 23:24:09 25 4
gpt4 key购买 nike

有一个处理传入请求的 WCF 服务,并且为每个传入消息生成一个相应的输出消息,该消息被发送到另一个 WCF 服务。消息的顺序很重要,不能打乱。因此,服务应按照服务接收消息的顺序生成相应的输出消息。同时处理请求也很重要,这样才能从多核 CPU 中获益。

在这种情况下,保持输入和输出之间消息顺序的最佳方法是什么?

最佳答案

这完全取决于您的实现。 WCF 只能强制执行有序传递(通过可靠 session 或 MSMQ),以便您可以确保消息按发送顺序接收,但没有任何功能可确保您的操作将按相同顺序发送消息(一个消息的处理速度比之前收到的消息更快)。如果你想按顺序处理消息,将 ConcurrencyMode 设置为 Multiple 只会让事情变得非常复杂。您将不得不手动同步操作,这将减少并发性,并且在最坏的情况下回退接近 ConcurrencyMode.Single。同步可能很难实现,因为仅在操作中完成同步是不够的 - 输出消息的 WCF channel 堆栈处理也必须同步。

关于wcf - 使用 ConcurrencyMode.Multiple 模式保留 WCF 服务中的消息顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6341332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com