ServiceProxy用于当前服务

时间:2015-12-18 19:27:29

标签: azure-service-fabric

我想弄清楚如何生成指向我当前正在执行的服务的ServiceProxy。我需要传达有关它的信息,以便其他服务可以回调到这个特定的实例:因为它是有状态的。

ServiceProxy似乎通过分区键来解析。但是,我不知道如何获取当前正在执行的服务的分区键。我可以获得分区Guid。但是,ServiceProxy不能与之一起使用。

示例用例:我有StatefulService调用外部HTTP API。它会向此API发布消息,这会导致API在一段时间后回调到我的基础架构中。我构建的HTTP端点需要解析原始StatefulService,以便将响应路由回来。

1 个答案:

答案 0 :(得分:2)

您可以获取分区的密钥范围,并将低密钥值发送到外部HTTP API。当外部API需要解析回调的分区时,它可以使用低键值作为分区键,这可以保证它将落在正确的分区范围内:

Int64RangePartitionInformation partitionInfo = this.ServicePartition.PartitionInfo as Int64RangePartitionInformation;
long lowKey = partitionInfo.LowKey;