我想将我的NServiceBus 6.0应用程序“连接”到ServiceInsight。因此,我使用NuGet Package Manager将Nsb6.Heartbeat,Nsb6.CustomChecks和Nsb6.SagaAudit dll安装到我的解决方案中。在过去,这是配置,我的消息和传奇细节出现在ServiceInsight中。但是现在版本6(...仍在测试版中)这不再起作用,我收到以下错误消息:
2016-06-06 13:17:34.385警告 ServiceControl.Plugin.Nsb6.Heartbeat.Heartbeats无法发送 心跳到ServiceControl:System.ArgumentNullException:Der Wert darf nicht NULL sein。 Parametername:目的地bei NServiceBus.Guard.AgainstNullAndEmpty(String argumentName,String 值)在C:\ Build \ src \ NServiceBus.Core \ Utils \ Guard.cs:Zeile 36.
bei NServiceBus.Routing.UnicastAddressTag..ctor(String destination)in C:\ Build \ src \ NServiceBus.Core \ Routing \ UnicastAddressTag.cs:Zeile 15.
bei ServiceControl.Plugin.ServiceControlBackend.d__1.MoveNext() 在 C:\建立\ SRC \ ServiceControl.Plugin.Nsb6.Heartbeat \ ServiceControlBackend.cs:Zeile 54。 --- EndederStappelüberwachungvomvorhergehenden Ort,dem dieAusnahmeausgelöstwurde--- bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)bei ServiceControl.Plugin.Nsb6.Heartbeat.Heartbeats.HeartbeatStartup.d__7.MoveNext() 在 C:\建立\ SRC \ ServiceControl.Plugin.Nsb6.Heartbeat \ Heartbeats.cs:Zeile 148。
很抱歉,该邮件包含德语字词 - 但您可能会了解该例外情况。我是否必须提供有关目的地的一些附加信息?
我正在使用的版本:
NServiceBus 6.0.0-beta3
NServiceBus.Host 7.0.0-beta2
ServiceControl.Plugin.Nsb6.Heartbeat 1.0.0-beta2
ServiceControl 1.16.0
ServiceInsight 1.5.6
这是我的端点配置:
endpointConfiguration.UseSerialization<JsonSerializer>();
endpointConfiguration.EnableInstallers();
endpointConfiguration.SendFailedMessagesTo("error");
endpointConfiguration.AuditProcessedMessagesTo("audit");
endpointConfiguration.UsePersistence<InMemoryPersistence>();
var transport = endpointConfiguration.UseTransport<MsmqTransport>();
transport.Transactions(TransportTransactionMode.TransactionScope);
答案 0 :(得分:1)
我可以通过将以下配置添加到我的app.config文件来解决此问题:
<appSettings>
<add key="ServiceControl/Queue" value="particular.servicecontrol"/>
</appSettings>
当我添加ServiceControl.Plugin.Nsb6.SagaAudit dll时,我找到了解决方案。现在没有任何警告,现在出现了错误:
2016-06-07 13:58:23.008错误NServiceBus此端点无法联系ServiceControl后端以报告端点信息。您已在端点中安装ServiceControl插件。但是,请确保在此计算机上安装了特定服务控制服务,或者如果在另一台计算机上运行ServiceControl,请确保端点的app.config / web.config,AppSettings正确设置了以下密钥:ServiceControl / Queue。 例如: 其他详细信息:{0} System.ArgumentNullException:Der Wert darf nicht NULL sein。 Parametername:目的地 bei NServiceBus.Guard.AgainstNullAndEmpty(String argumentName,String value)在C:\ Build \ src \ NServiceBus.Core \ Utils \ Guard.cs:Zeile 36。 bei NServiceBus.Routing.UnicastAddressTag..ctor(String destination)在C:\ Build \ src \ NServiceBus.Core \ Routing \ UnicastAddressTag.cs:Zeile 14。 bei ServiceControl.Plugin.ServiceControlBackend.d__6.MoveNext()在C:\ BuildAgent \ work \ da7163d5242e9ea8 \ src \ Shared \ ServiceControlBackend.cs:Zeile 159。
错误文本具有误导性,因为它实际上表明仅在ServiceControl安装在另一台计算机上时才需要配置。显然情况并非如此,即使连接到localhost上的ServiceControl,也必须添加配置。