MassTransit - 主机路径必须为空或包含单个虚拟主机名

Wii*_*izl 3 c# masstransit rabbitmq

我对 RabbitMQ 和 MassTransit 完全陌生。我只有一个在开发环境中工作的代码,但在生产中我收到标题中提到的错误。目前配置如下:

<source name="mdb" switchValue="All">
    <listeners>
      <add name="MM" type="Comp.MyTraceListener, Comp.Diagnostics"
           initializeData="rabbitmq://server.xxx.int/ProdRabbitCluster/MDB"
           username="prod" password="xxxxx" />
    </listeners>
  </source>'
Run Code Online (Sandbox Code Playgroud)

为了检查一下,我反编译了 MassTransit DLL,发现这是因为它"/ProdRabbitCluster/MDB"有多个"/"单独的段。

那么这个 URL 格式是否根本无效并应该更改?该值是由客户的管理员给出的,我不知道他们的整个基础设施和服务器。

Chr*_*son 5

使用 RabbitMQ 的 MassTransit URL 格式为:

rabbitmq://hostname[:port]/virtual_host
Run Code Online (Sandbox Code Playgroud)

虚拟主机名中不应再有“/”。它对于 RabbitMQ 可能是合法的,但对于 MassTransit 来说是不合法的。他们需要重命名虚拟主机,使其名称中不包含“/”。

我不明白为什么运营有时会做这样的事情。