私は、Azureワーカーロール上で動作するNServiceBusエンドポイントを持っています。 ServiceControl.Plugin.Nsb5.Heartbeatパッケージをインストールしました。 VSからクラウドサービスに直接展開すると、エンドポイントがServicePulseに表示され、ハートビートが期待どおりに表示されます。NServiceBus ServiceControlハートビートプラグインのデバッグ
自動展開プロセスを実行すると、エンドポイントはservicepulseによって検出されず、ハートビートも発生しません。 (ハートビートプラグインがインストールされていない場合でも、ServicePulseはエンドポイントを検出し、そのエンドポイントにハートビートプラグインがインストールされていないことを通知します)。
RDを使用してログインすると、その部分にハートビートアセンブリが表示されます。私の設定は、両方のシナリオのために同じですが、私は参考のためにそれをここに追加します:私のconfigのAppSettingsで
を:私の設定の
<add key="Heartbeat/Interval" value="00:00:01" />
<add key="ServiceControl/Queue" value="xxx.xxx.servicecontrol" />
レクリエーション:
<section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core" />
<MessageForwardingInCaseOfFaultConfig ErrorQueue="error" />
私に、Servicecontrolインスタンスローカルのコンピュータで実行され、正しいサービスバスを監視しています。エラーキュー名はconfigと同様にerrorに設定され、エラー転送キュー名はerror.logに設定されます。 workerroleが起動し、NSBが開始されると
することは、私は(ところで、私はハートビートを送信しているworkerroleで見つけることができるものとまったく同じである)のログでこれを見つけることができます:
Name: Heartbeats
Version: 2.0.0
Enabled by Default: Yes
Status: Enabled
Dependencies: None
Startup Tasks: HeartbeatStartup
私は全く同じコードが異なった振る舞いをしている理由を全く知りません。これは、同じコード、同じ設定、同じ設定、異なる方法で展開されたものです。デプロイされたアセンブリを比較すると、違いを検出できません。ハートビートアセンブリはそこにあり、NSBも同様にそれをピックアップしているように見えます。私はその特定のエンドポイントから心拍を受け取っていないだけです。
私は何が欠落している可能性がありますか?または私はこれを修正しようとすることができますか?
ありがとうございます!