Closed. This question needs to be more focused 。它目前不接受答案。












想改善这个问题吗?更新问题,使其仅通过 editing this post 关注一个问题。

5年前关闭。



Improve this question




我需要具有 3 个端点的 WCF 服务
  • 正常

  • 大多数消息将通过正常和低端点发出。
    如果出现高电平消息,则必须尽快处理。

    有谁知道怎么做???

    最佳答案

    我能想到的最简单的方法是将您的服务部署两次:一个具有低/中端点,然后是一个具有高端点的完全不同的实例。正如 Endian 在他的回答中所说(我投票支持 BTW),您可以将它们物理分离,但您也可以让它们运行
    在同一个盒子上的是你,两个使用不同端口的实例。如果我必须这样做,这就是我会这样做(或真正插入)的方式。

    您的另一个(不吸引人的)选项是创建一个自定义 channel ,该 channel 能够处理消息并将它们放在单独的“VIP”行中,以及在服务操作时可以从“VIP”行中拉取的相应操作行为已准备好接收消息。与第一个选项相比,这并没有真正给您带来任何好处,因为您所做的只是确保您的服务在一个“一组”服务实例中运行。我猜在你的情况下这不会给你带来太多好处。

    至于停止和重新启动服务是一个更高优先级的请求进来,有龙。如果可能的话,我会避免它。如果没有,您可能需要考虑将您的服务创建为 WF 工作流并使用其中的一些流程启动/停止功能,但您仍然需要一些自定义 channel 和一些自定义行为来使其工作。此时,您可能需要考虑 BizTalk。

    关于具有优先级的 WCF 端点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/183530/

    10-13 09:26