static void DownLoadFile(string fileName) { NameNodeServiceClient client = new NameNodeServiceClient(); var downInfo = client.GetDownLoadInfo(fileName); var chunks = downInfo.Chunks.GroupBy(x=>x.Order).OrderBy(x=>x.First().Order); FileStream writer = new FileStream(fileName, FileMode.Create); foreach(var chunkGroup in chunks) { var chunk = chunkGroup.First(); var server = chunk.FileServer; FileServiceClient serverClient = new FileServiceClient("BasicHttpBinding_IFileService", server.FileServerServicePoint); var remoteStream = serverClient.GetChunkByGUID(chunk.GUID); CopyStream(remoteStream, writer); remoteStream.Close(); } writer.Close(); }