62,046
社区成员
发帖
与我相关
我的任务
分享
// 用户单击上传按钮的事件处理代码
proptected void BtnSubmit_Click(object sender, EventArgs e) {
// 读取上传的文件
HttpPostedFile file = Request.Files[0];
// 保存上传的文件到服务器
file.SaveAs("c:\somefile.ext");
// 文件保存成功,主线程结束,客户端可以关闭。
messageBox.Show("文件上传成功,正在处理您的文件"); // 通知客户端。
// 下面的代码将处理这个上传的文件
// 即使处理需要很长的时间,也不要求客户端保持连接。
object state = new string[]{"c:\somefile.ext"};
// 下面的代码将一个需要很长时间去执行的过程排队,
// 等CPU空闲的时候再执行ProcessFile这个方法
System.Threading.ThreadPool.QueueUserWorkItem(ProcessFile, state);
}
private void ProcessFile(string[] files) {
// TODO:这里是上传的文件处理代码
}
private void ProcessFile(string[] files) {
// 这里是上传的文件处理代码
}
// 将处理文件的任务排队,交给其它线程处理
object state = new string[]{"file1","file2"};
System.Threading.ThreadPool.QueueUserWorkItem(ProcessFile, state);