NServiceBus 6.0是否已经支持ServiceInsights

时间:2016-06-06 11:21:49

标签: nservicebus serviceinsight nsb-servicecontrol

我想将我的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);

1 个答案:

答案 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,也必须添加配置。