【发布时间】:2009-09-28 20:17:14
【问题描述】:
需要保留在 WCF 客户端和 WSE 2.0 Web 服务之间生成的消息。由于 Web 服务由第三方托管,我是否可以实施一种解决方案,让 WCF 客户端将消息持久化到 msmq 并让 Windows 服务间歇性地轮询队列以在 WSE 2.0 Web 服务上发送请求?如果请求不成功,消息将保留在队列中。
提前致谢。
【问题讨论】:
需要保留在 WCF 客户端和 WSE 2.0 Web 服务之间生成的消息。由于 Web 服务由第三方托管,我是否可以实施一种解决方案,让 WCF 客户端将消息持久化到 msmq 并让 Windows 服务间歇性地轮询队列以在 WSE 2.0 Web 服务上发送请求?如果请求不成功,消息将保留在队列中。
提前致谢。
【问题讨论】:
它应该可以工作。
可能有点棘手的部分是当您从 MSMQ 中读取数据并将其发送到 WSE 2.0 服务时。
【讨论】:
默认情况下,如果 MSMQ 服务重新启动,MSMQ 将不会在队列中保留消息。如果您希望消息保留在 MSMQ 中,即使机器重新启动等。您需要将队列创建为事务性队列(如果您使用 .NET 中默认的快速消息,这是真的,感谢 Igal 纠正此问题)。
【讨论】: