Beispiel #1
0
        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();
        }