2015-12-18 29 views
0

我想弄清楚如何生成ServiceProxy指向我當前正在執行的服務。我需要傳達有關它的信息,以便另一個服務可以回調到這個特定的實例中:因爲它是有狀態的。ServiceProxy當前服務

ServiceProxy似乎通過分區鍵來解決。但是,我沒有看到我如何獲得當前正在執行的服務的分區鍵。我可以獲得分區Guid。但是,ServiceProxy不能與此一起使用。

示例用例:我有一個調用外部HTTP API的StatefulService。它會向此API發佈消息,這會導致API在一段時間後回撥到我的基礎架構中。我構建的HTTP端點需要解析原始的StatefulService以便將響應路由回它。

回答

2

您可以獲取分區的密鑰範圍並將低密鑰值發送到外部HTTP API。當該外部API需要解析回調分區時,可以使用低鍵值作爲分區鍵,這可以確保它落入正確的分區範圍:

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