4

Windows サービスでホストされている http 経由の Azure Service Bus リレーを使用して、長時間実行されるテスト アプリをいくつか実行していますが、ほとんどの場合、これらは 2 ~ 3 日間正常に実行されます。ただし、インターネット接続を切断する内部ネットワークの不具合 (ファイアウォールの再起動など) が頻繁に発生することがあります。

この時点で、リレーは Azure でドロップされ、Web アプリはオンプレミス サービスと通信できなくなります。

Azure リレー クライアントはフォールト トレラントであると考えていました。つまり、Azure との接続が失われたことに気付いた場合は、接続を再確立し、接続できるまで試行を続けることができない場合は..これはそうではありません。これはかなり基本的なようです...?

サービスがインターネット上で通信できない「System.ServiceModel.CommunicationException」を見たのは一度だけです。それは、クライアントが起動して最初に接続を確立しようとしたときでした。

リレー サービスを介した一時的な切断の処理に関するアドバイスやフィードバックはありますか (それはクラウド --> オンプレミスの方向であるため、クライアントはサーバーに ping を送信できないため)。

4

2 に答える 2

1

問題が解決しない場合は、Azure サポートに連絡して、切断されている理由を確認してください。既存の接続に問題が発生した場合、Relay クライアントは再接続する必要があります。

接続のステータスが変化したときに出力するように追加することができConnectionStatusBehaviorます。ChannelFactoryステータス変更の原因となったエラーが含まれます。

var connectionStatusBehavior = new ConnectionStatusBehavior();
connectionStatusBehavior.Online += ConnectionStatusOnlineMethod;
connectionStatusBehavior.Offline += ConnectionStatusOfflineMethod;
channelFactory.Endpoint.Behaviors.Add(connectionStatusBehavior);
于 2014-09-03T17:36:28.103 に答える
-1

この問題は、Microsoft Azure Service Bus dll のバージョン 2.6.5 で Microsoft によって解決されています。1か月のテストの後、それは機能しているようです。

于 2015-06-26T07:54:58.047 に答える