2

次のサンプル コードを使用してリモート開発クラスターに接続しようとすると、次のようになります。

var proxy = ActorProxy.Create<IActor1_NoS>(ActorId.NewId(), "fabric:/applicationname");

次のエラーが表示されます。

System.Fabric.FabricException : 指定されたアドレスが無効でした

このコードは、開発クラスター マシンからローカルで実行すると正常に動作することに注意してください。Dev クラスター マニフェスト ファイルは、マシンの IP アドレスでリッスンするように変更されています。The remote machine is a Windows 7. すべての Service Fabric アセンブリが実行可能フォルダーにコピーされました。

"fabric:/" スキームを使用したクライアント呼び出しは、バックグラウンドでどのように機能しますか? クライアントは、ファブリック コールの対象となるクラスターをどのように指定しますか?

4

1 に答える 1

4

アクター プロキシは、パブリック ポートで公開されていないプラットフォーム サービスに依存します。その結果、プロキシはリモート マシン上のアクター サービスと通信できません。これらは、クラスター内のサービス間通信を目的としています。一般的なパターンは、クラスター内にゲートウェイ サービスを作成して、パブリック ポートにイングレス ポイントを提供することです。これにより、リクエストをアクターにリレーできます。

于 2015-09-30T18:34:47.097 に答える