¿Cómo puedo calcular el progreso con HttpClient PostAsync?

En mi aplicación de la Tienda Windows (c #) necesito subirMultipartFormDataContent (algunas cadenas de contenido y algunos archivos) al servidor y obtener un archivo enorme en la respuesta. El problema: no puedo usarBackgroundDownloaders para eso. Solo puedo usar una solicitud para eso.

yo sueloHttpClient.PostAsync método:

 using (var client = new HttpClient(httpClientHandler))
            {
                using (var content = new MultipartFormDataContent())
                {
                    content.Add(...); // prepare all strings and files content
                    try
                    {
                        using (var response = await client.PostAsync(url, content))
                        {
                            if (response.StatusCode == HttpStatusCode.OK)
                            {
                                var inputBytes = await response.Content.ReadAsByteArrayAsync();
                                // some operations with inputBytes 
                            }
                            ......
                        }
                    }
                }
            }

Mi pregunta es: ¿cómo puedo calcular el progreso de esta operación?

Nota: Mi objetivo: Windows 8. Y no puedo usarWindows.Web.Http.HttpClient (Cliente mínimo compatible con Windows 8.1). SolamenteSystem.Net.Http.HttpClient

Respuestas a la pregunta(2)

Su respuesta a la pregunta