2

ファイル操作を行うページが 1 つあり、ファイルが完了したら、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 に答える