有什么办法可以configurationMSMQ在80或443以外的端口上通过HTTP接收消息?

我有一个服务,收到MSMQ消息,并承载一个API。 API必须运行在80端口(为了参数的缘故,不值得进入这里)。 其他服务必须能够通过HTTP将消息发送到此服务。 因此,MSMQ必须能够在80(或443)以外的端口上接收消息。

MSDN上的这个页面表明可以通过HTTP将消息发送到80以外的端口:

https://blogs.msdn.microsoft.com/johnbreakwell/2008/12/15/sending-msmq-messages-over-http-to-a-web-server-not-listening-on-port-80/

幸运的是,这并不难。 需要修改地址,就像使用Internet Explorer浏览正在其他端口上侦听的网站一样,只需在服务器名称后面插入端口号即可。

例如,以下是目标Web服务在端口8080上侦听的地址:

DIRECT = HTTP://MyWebServer:8080/MSMQ/Private$/TestQueue

这表示可以在另一端configuration服务器来侦听任意端口。 它是否正确? 如果是这样,它是如何实现的?

这是一个多步骤的过程:

  1. 在默认网站(端口80)上安装API
  2. 创build一个额外的网站,并将服务选项卡上的TCP端口设置为所需的端口号。
  3. 停止网站
  4. 在IIS中进入高级设置; 将默认网站的网站ID更改为“99”
  5. 在IIS中进入高级设置; 将额外网站的网站ID更改为“1”
  6. 启动网站
  7. 安装MSMQ(只能安装到站点ID 1上)

您现在有MSMQ和API在不同的端口上侦听。