更新 我发现了问题。我没有从 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 程序集,所以我不确定它为什么无法解决这个问题。
任何帮助都会很棒!