情境:
目标网关引发的错误是:
WARN NServiceBus.Unitcast.Transport.Msmq.MsmqTransport [(null)]<(null)> - 无法为ID = GUID的消息引发“收到传输消息”事件 System.NullReferenceException:未将对象引用设置为对象的实例。
此错误最初是在2个不同的服务器上设置的,但是当我在本地计算机上本地运行方案(在管理员权限下)(只是在不同的端口上侦听)时会发生此错误。我正在将消息的SetHttpToHeader()设置为正确的目标地址。
网关配置如下:
网关1:
<appSettings>
<add key="NumberOfWorkerThreads" value="10"/>
<add key="InputQueue" value="Gateway1Pickup"/>
<add key="ErrorQueue" value="Gateway1Error"/>
<add key="ForwardReceivedMessageTo" value="audit"/>
<add key="OutputQueue" value="Gateway1Output"/>
<add key="ListenUrl" value="http://address:6768/Gateway/"/>
<add key="RequireMD5FromClient" value="true"/>
</appSettings>
网关2:
<appSettings>
<add key="NumberOfWorkerThreads" value="10"/>
<add key="InputQueue" value="Gateway2Pickup"/>
<add key="ErrorQueue" value="Gateway2Error"/>
<add key="ForwardReceivedMessageTo" value="audit"/>
<add key="OutputQueue" value="Gateway2Output"/>
<add key="ListenUrl" value="http://address:6768/Gateway/"/>
<add key="RequireMD5FromClient" value="true"/>
</appSettings>
有谁知道我在哪里出错?
答案 0 :(得分:3)
起初我得到了一个坚实的repro然后我意识到NSB不会为你创建审计队列。如果从配置中删除它们或创建审核队列,则应该全部设置。
答案 1 :(得分:0)
当我在服务目录中没有一些依赖程序集时,我发现上面的问题出现了。我发现错误附加到MSMQ队列中的消息。我使用了Queue Explorer,但我认为其他工具会显示相同的内容。