public async Task <IActionResult> Get()
        {
            Uri serviceName  = BlogRestApi.GetBlogDataServiceName(this.serviceContext);
            Uri proxyAddress = this.GetProxyAddress(serviceName);

            ServicePartitionList partitions = await this.fabricClient.QueryManager.GetPartitionListAsync(serviceName);

            List <KeyValuePair <string, Post> > result = new List <KeyValuePair <string, Post> >();

            foreach (Partition partition in partitions)
            {
                string proxyUrl =
                    $"{proxyAddress}/api/Posts?PartitionKey={((Int64RangePartitionInformation)partition.PartitionInformation).LowKey}&PartitionKind=Int64Range";

                using (HttpResponseMessage response = await this.httpClient.GetAsync(proxyUrl))
                {
                    if (response.StatusCode != System.Net.HttpStatusCode.OK)
                    {
                        continue;
                    }

                    result.AddRange(JsonConvert.DeserializeObject <List <KeyValuePair <string, Post> > >(await response.Content.ReadAsStringAsync()));
                }
            }

            return(this.Json(result));
        }
        public async Task <IActionResult> Create([FromBody] PostsRequest request)
        {
            Uri    serviceName  = BlogRestApi.GetBlogDataServiceName(this.serviceContext);
            Uri    proxyAddress = this.GetProxyAddress(serviceName);
            long   partitionKey = this.GetPartitionKey(request.message);
            string proxyUrl     = $"{proxyAddress}/api/Posts?PartitionKey={partitionKey}&PartitionKind=Int64Range";
            var    postRequest  = JsonConvert.SerializeObject(request);
            var    buffer       = System.Text.Encoding.UTF8.GetBytes(postRequest);
            var    byteContent  = new ByteArrayContent(buffer);

            byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

            using (HttpResponseMessage response = await this.httpClient.PostAsync(proxyUrl, byteContent))
            {
                if (response.StatusCode != System.Net.HttpStatusCode.OK)
                {
                    return(this.StatusCode((int)response.StatusCode));
                }
            }

            return(new OkResult());
        }