如何使用httpwebrequest同时下载两个文件? [英] How to download two files on the same time using httpwebrequest?

查看:94
本文介绍了如何使用httpwebrequest同时下载两个文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试了两个下载任务。任务同时启动但当第一个任务在GetResponseStream代码行时,其他任务等待第一个任务完成并在完成时继续。是什么原因和正确的代码?我的代码是这样的=>

I tried it with two download tasks. The tasks started at the same time but when first task was at GetResponseStream code line other task waited for first task to finish and continued when it was finished. What is the reason and the right code? My code is something like this=>

public void Download1()
        {
            data1 = new byte[fp[0]];
            req1 = WebRequest.Create(url) as HttpWebRequest;
            MessageBox.Show("1");
            req1.AddRange(sp[0], fp[0] - 1);
            var asyncresult1 = req1.BeginGetResponse(ar =>
                {
                    using (var response = req1.EndGetResponse(ar))
                    using (var responseStream = response.GetResponseStream()) 
                    using (var reader = new StreamReader(responseStream))
                    {
                        string s = reader.ReadToEnd();
                        labeldurum.Text = s.Length.ToString();
                    }
                }, null);
            
        }
        HttpWebRequest req2;
        int totalbayt1 = 0, totalbayt2 = 0;
        public async void Download2()
        {
            
            data2 = new byte[fp[0] + 1];
            req2 = WebRequest.Create(url) as HttpWebRequest;
            MessageBox.Show("231");
            req2.AddRange(sp[1], filesize);
            var asyncresult = req2.BeginGetResponse(ar =>
            {
                using (var response = req2.EndGetResponse(ar))
                using (var responseStream = response.GetResponseStream())
                using (var reader = new StreamReader(responseStream))
                {
                    string s = reader.ReadToEnd();
                    labelhız.Text = s.Length.ToString();
                }

                }, null);
        }

推荐答案

查看我的解决方案下载像C#中的IDM这样的文件分离 [ ^ ]
See my solution to download parting the files like IDM in C#[^]


这篇关于如何使用httpwebrequest同时下载两个文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆