private async Task <ServicePartitionInformation> GetPartitionInformationForCacheKey(string cacheKey) { await InitializeAsync(); var md5 = MD5.Create(); var value = md5.ComputeHash(Encoding.ASCII.GetBytes(cacheKey)); var key = BitConverter.ToInt64(value, 0); var partition = _servicePartitionList.Single(p => ((Int64RangePartitionInformation)p.PartitionInformation).LowKey <= key && ((Int64RangePartitionInformation)p.PartitionInformation).HighKey >= key); return(partition.PartitionInformation); }
private async Task <ServicePartitionInformation> GetPartitionInformationForCacheKey(string cacheKey) { var md5 = MD5.Create(); var value = md5.ComputeHash(Encoding.ASCII.GetBytes(cacheKey)); var key = BitConverter.ToInt64(value, 0); if (_partitionList == null) { _partitionList = await _fabricClient.QueryManager.GetPartitionListAsync(_serviceUri); } var partition = _partitionList.Single(p => ((Int64RangePartitionInformation)p.PartitionInformation).LowKey <= key && ((Int64RangePartitionInformation)p.PartitionInformation).HighKey >= key); return(partition.PartitionInformation); }