var webClient = new WebClient();
webClient.OpenReadCompleted += (o, e) =>
{
if (e.Error != null || e.Cancelled)
{
return;
}
Stream stream = (Stream)e.Result;
BinaryReader reader = new BinaryReader( stream );
byte[] buffer = reader.ReadBytes( (int)stream.Length );
e.Result.Close();
};
Uri baseUri = new Uri(webClient.BaseAddress);
webClient.OpenReadAsync(new Uri(youServerUri, UriKind.Absolute), localFilePath);