C# 建议从WPF客户端调用WCF MSMQ队列端点吗?

C# 建议从WPF客户端调用WCF MSMQ队列端点吗?,c#,wpf,wcf,architecture,msmq,C#,Wpf,Wcf,Architecture,Msmq,我有一些消息要从多个WPF客户端应用程序发送到服务,这些消息在发送后可以处理。 由于预期客户端和服务器之间会出现间歇性连接问题,并且服务需要停机时间,因此我倾向于创建具有排队端点的WCF服务。在过去,当客户机实际上是其他服务器且数量很少时,这对我来说非常有效。 我担心在许多客户端机器上执行此操作,主要是因为我认为很难监控这么多传出队列,以确认客户端机器上没有捕获流量。 以前有人试过这样做吗? 如果是,你会推荐它吗?为什么?为什么不? 即使您还没有这样做,除了监控所有出站队列的操作问题之外,您还能

我有一些消息要从多个WPF客户端应用程序发送到服务,这些消息在发送后可以处理。
由于预期客户端和服务器之间会出现间歇性连接问题,并且服务需要停机时间,因此我倾向于创建具有排队端点的WCF服务。在过去,当客户机实际上是其他服务器且数量很少时,这对我来说非常有效。
我担心在许多客户端机器上执行此操作,主要是因为我认为很难监控这么多传出队列,以确认客户端机器上没有捕获流量。 以前有人试过这样做吗?
如果是,你会推荐它吗?为什么?为什么不?

即使您还没有这样做,除了监控所有出站队列的操作问题之外,您还能想到其他陷阱吗?

您的问题可以更好地表述为:

  • 是否应该推出一个包含多个节点且全部使用MSMQ的系统
如果是这样的话,这就是消息传递的本质,也是此类系统的设计目的,而不管它们是JMS、Apache MQ、Websphere、SonicMQ还是MSMQ

此外,“流量被困在客户端机器上”-如何定义被困?请记住,应用程序可能会非常高兴消息在转发到远程主机之前在本地驻留数天。消息传递系统通常具有到达目的地和目的地处理消息的超时


我想你会没事的。

我感谢你的回复。在这个特定的实例中,我需要排队,但不需要在客户机上排队。如果我使用MSMQ,则会有一个自动客户端队列,由于连接、防火墙或配额的原因,该队列可能会被阻止。我不想让运营部监控所有这些出站队列。我倾向于将web服务放在排队服务的前面,当用户失去连接时,只向用户显示“稍后重试”错误。这似乎在操作上更容易。@Adam47不用担心,亚当。是的,你所描述的是我最近实现的东西。我通过WCF从客户端到后端使用传统的阻塞RPC,一旦到了后端,我就使用将请求发布到MSMQ的方法。在必要时,我还使用了一个类似于RPC的工具。这样,如果不需要,客户端上就不会有MSMQ。:)@Adam47“有一个自动客户端队列,由于连接、防火墙或配额的原因,该队列可能会被阻止”-具体取决于。使用MSMQ超时使消息过期,MSMQ将自动删除消息。防火墙可以阻止MSMQ吗?我本以为MSMQ在Windows的RPC层上