如何调用函数但不要等待完成 - ASP.NET
本文关键字:等待 NET ASP 何调用 调用 函数 | 更新日期: 2023-09-27 18:30:26
我有一个页面在进行一些文件操作,文件完成后,我需要上传到 Amazon S3。有时文件可能很大,因此提交时的用户需要等待太多时间。我怎样才能做出类似的东西
- 文件操作
- 完成后,我将文件名参数发送到某个函数
- 我不需要等待该功能,我想在上传完成之前使用响应重定向。
最简单的方法:
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
您需要在不同的线程上启动该方法 - 因为您不必等待函数返回,因此不需要回调。
请参阅Thread
类和Task
类。