Is your WebService ASMX or WCF? Also, your file download service needs multiple accesses to divide the file into blocks (byte[])?
If this is the case, you can increase the value of int to count the number and size of packages downloaded every time the client calls the Webservice, so as to achieve your goal of measuring progress.