我有一个使用 netMsmqBinding 将 queueTransferProtocol 设置为 Srmp 的 Windows 服务调用 WCF Web 服务。
所有这些都非常有效,除非托管 Web 服务的应用程序池重新启动或回收。
获取要发送的消息的唯一方法是手动浏览到 URL,或使用一些 http ping 实用程序。激活 URL 后,WCF Web 服务开始使用传入队列。
我在切换到 Srmp 之前遇到了这个问题,我通过在 Web 服务器上安装 WCF 激活功能并适当地命名队列来解决它。
由于防火墙限制,我被迫使用 Srmp,因此端口 80 或 443 是我唯一的选择。
这里有一个解决方法,我可以设置一个计划任务来按计划调用每个 Web 服务,但我更喜欢更简单更健壮的解决方案。
一个完整的解决方案会非常好,但我愿意考虑其他一些解决方法。