0

ある種の長期的なコールバック戦略を維持できるサービスを開発するための最良のパターンを見つけようとしています。たとえば、 service があるとしますDoLongThingService。このサービスを呼び出すと.Begin、長いプロセスの実行がスケジュールされます。プロセスが終了したら、最初のサービスを起動する必要があります。基本的には長期ワークフロー系のもの。

これは、実際には俳優とうまく機能します。ActorReferenceメソッドにを渡すことができるのでDoLongThingService.Begin、そのサービスはBindそのアクターにメソッドを呼び出して完了を知らせることができます。

しかし、Actors を使用していない場合はどうでしょうか? あるサービスへの参照を別のサービスに渡すにはどうすればよいですか? 最初のサービスはステートフルになるため、未処理のリクエストを追跡できます。ただし、そのステートフル サービスのインスタンスが複数存在する可能性があります。では、どうすれば正しい応答を返すことができるでしょうか?

4

1 に答える 1

0

サービス URI とパーティション キーは、システム内のサービスのパーティションを一意に識別できます。これを使用して ServicePartitionResolver を使用してサービス アドレスを解決できます。または、サービスが IService を実装している場合は、この情報を使用して ActorProxy のような ServiceProxy を作成し、サービスにメソッド コールを戻すことができます。

于 2015-12-12T00:39:36.003 に答える