0

更新 我发现了问题。我没有从 ICommand 继承,所以我添加了约定,但是现在我收到以下异常:

找不到目标队列“报销”。您可能在配置文件的 UnicastBusConfig 部分的 MessageEndpointMappings 中错误地配置了此类消息的目的地(Reimbursement.Messages.Commands.RequestForReimbursementCommand、Reimbursement.Messages、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null)。也可能是给定队列尚未创建或已被删除。

我正在使用 SqlTransport 为我们公司评估 NServiceBus,但遇到了配置问题。

这是我的发件人的 app.config:

<configuration>
  <configSections>
    <section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core" />
    <section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core" />
  </configSections>
  <MessageForwardingInCaseOfFaultConfig ErrorQueue="error" />  
  <startup> 
      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <appSettings>
    <add key="NServiceBus/Outbox" value="true"/>
  </appSettings>
  <connectionStrings>
    <add
      name="NServiceBus/Transport"
      connectionString="Data Source=INLS-03466\ANABOLIC; Initial Catalog=CMS; Integrated Security=True;"/>
    <add
      name="NServiceBus/Persistence"
      connectionString="Data Source=INLS-03466\ANABOLIC; Initial Catalog=CMS; Integrated Security=True;"/>
    <add
      name="NServiceBus/Transport/Reimbursement"
      connectionString="Data Source=INLS-03466\ANABOLIC; Initial Catalog=Reimbursement; Integrated Security=True;"/>
  </connectionStrings>
  <UnicastBusConfig>
    <MessageEndpointMappings>
      <add Assembly="Reimbursement.Messages" Endpoint="Reimbursement" />
    </MessageEndpointMappings>
  </UnicastBusConfig>
</configuration>

当我发送命令时,我收到以下异常:

找不到消息类型 Reimbursement.Messages.Commands.RequestForReimbursementCommand 的目的地。检查此端点的配置部分以获取此特定消息类型或其程序集的条目。

发件人引用了 Reimbursement.Messages 程序集,所以我不确定它为什么无法解决这个问题。

任何帮助都会很棒!

4

2 回答 2

1

该消息The destination queue '*' could not be found.通常发生在服务想要订阅发布者但发布尚未运行因此它已创建其队列时。

端点只创建自己的队列,但不创建它订阅的队列或发送消息的其他服务的队列。

该消息No destination could be found for message type通常发生在配置中没有定义目标、消息约定不匹配或者它没有继承正确的接口(ICommandIEventIMessage时。

于 2015-05-15T18:53:22.167 回答
0

不知道为什么,但我删除/重新添加了对外部消息项目的引用,它现在似乎正在工作。

于 2015-05-14T14:38:01.530 回答