C# 下载文件假死
用C#下载远程文件,因为下载几个文件,耗时需要十分钟左右,造成程序假死,请问如何解决??
private void StartDownLoadBT_Click(object sender, EventArgs e)
{
……………………初始化参数
StartThread();
}
private void StartThread()
{
if (m_thread != null)
{
if (this.m_thread.IsAlive)
{
this.m_thread.Abort();
this.m_thread = null;
}
}
m_thread = new Thread(new ThreadStart(DownLoadData));
m_thread.Start();
}
private void DownLoadData()
{
………………………………
下载文件,耗时几分钟,期间不调用控件
}
请问哪位大神知道如何设置线程才能不假死????
------解决方案--------------------怎么下载?对方支持什么下载协议?
------解决方案--------------------使用backgroundworker类,开始下载后弄个进度条。参考
------解决方案--------------------不是有个异步下载的方法么?
不用线程
C# code
using (System.Net.WebClient wc = new System.Net.WebClient())
{
wc.DownloadFileAsync(new Uri(url), filePath);
}
------解决方案--------------------
常用解决方法:开多线程
------解决方案--------------------
程序主窗口假死的话backgroundworker可以搞定,
或者开线程,主界面做个状态条,用委托更新状态条,显示下载文件名就行了