WCF netmsmq绑定。如果MSMQ不可用,请在客户端重试

WCF netmsmq绑定。如果MSMQ不可用,请在客户端重试,wcf,msmq,Wcf,Msmq,我知道,一旦WCF客户端将消息发送到MSMQ,netmsmqbinding将在服务出现故障时提供开箱即用的重试 但是,如果我的客户端首先未能将消息放入MSMQ,那么WCF中是否有现成的客户端重试功能,或者我是否必须在客户端代码中实现客户端队列和重试逻辑 谢谢如果您的客户端站上运行MSMQ服务器,并且MSMQ侦听器服务已启动并正在运行,则发送到该服务的消息不太可能首先被放置在客户端队列中。我认为MSMQ没有提供任何东西来检查这一点,您应该在客户端编写一些方法,定期Peek()本地队列,并为到达队列

我知道,一旦WCF客户端将消息发送到MSMQ,netmsmqbinding将在服务出现故障时提供开箱即用的重试

但是,如果我的客户端首先未能将消息放入MSMQ,那么WCF中是否有现成的客户端重试功能,或者我是否必须在客户端代码中实现客户端队列和重试逻辑


谢谢

如果您的客户端站上运行MSMQ服务器,并且MSMQ侦听器服务已启动并正在运行,则发送到该服务的消息不太可能首先被放置在客户端队列中。我认为MSMQ没有提供任何东西来检查这一点,您应该在客户端编写一些方法,定期
Peek()
本地队列,并为到达队列的每条消息发送确认回执,这是可行的,因为您可以轻松访问本地队列,而且通过MSMQ从客户端发送到服务的每条消息都将始终通过本地队列发送。如果Send()方法没有返回错误,您还可以判断消息到达了队列。但我不认为您真的需要担心客户端没有首先到达本地队列的消息