2

我有一个页面,我在其中进行了一些文件操作,当文件完成后,我需要上传到 amazon s3。有时文件可能很大,因此提交时的用户需要等待太多。我怎么能做类似的东西

  1. 文件操作
  2. 完成后,我将文件名参数发送到某个函数
  3. 我不需要等待该功能,我想在上传完成之前使用 Response.Redirect 。
4

2 回答 2

9

最简单的方法:

ThreadPool.QueueUserWorkItem(YourUploadMethod);

下面有一些评论与此争论,所以我写了这个:

    protected void Page_Load(object sender, EventArgs e)
    {
        ThreadPool.QueueUserWorkItem(YourUploadMethod);

        Response.Redirect("http://google.com");
    }

    public void YourUploadMethod(object state)
    {
        Thread.Sleep(7000);
    }// breakpoint: I was redirected to google and then debugger stopped me here
于 2012-04-07T18:15:38.690 回答
1

您需要在不同的线程上启动该方法 - 因为您不必等待函数返回,所以您不需要回调。

查看Thread班级和Task班级。

于 2012-04-07T18:09:01.080 回答