我有一个 WCF 服务,它设置为使用 MSMQ 传输到另一台机器上的服务。我们正在尝试将客户端移动到另一台机器上,但它不起作用。启用 MSMQ.End2End 事件日志给我们
Message with ID {6940f8fa-3d31-4db0-ae2b-59bc98c99f2c}\25321 was sent to queue DIRECT=OS:iisapp1-vvpm\private$\TransactionalEmailService/TransactionalEmail.Service.TransactionalEmailService.svc
这让我认为它在我们的机器上正常工作,但我们在目标机器上找不到它的任何痕迹。服务没有被调用,我们在死信队列(或我们能想到的任何其他地方)中找不到消息。
此外,直接从我的机器上的 Visual Studio 运行代码会使其工作。
将接收队列更改为 DEV 机器也会导致代码工作,这让我进一步认为这是接收机器的问题。(我只是不知道是什么)
更新 1: 我回到它并注意到我试图在事务死信队列中发送的所有消息。错误消息是“到达队列的时间已过”。查看连接状态,它处于非活动状态,发送另一条消息不会导致它变为连接状态。我重新启动机器,它再次“连接”。我尝试再次发送消息,并查看队列状态。有 12 条消息,所有消息都未确认(0 条未处理)。