我有很长的代码需要在用户按下特定按钮时执行。
protected void Post(object sender, EventArgs e)
{
//1) Code that processes submitted data
//2) Passess the processed data to SQL DB
//3) Receives data from DB
//4) Generates PDF
//5) Sends the PDF To User
Response.Redirect("~/SomePage.aspx");
}
然而,代码大约需要6秒才能执行,这是相当长的一段时间,并且在执行此代码时,屏幕上没有任何事情发生,只有在此事件(1-5)成功完成后才会重定向完成。
我想知道的是,它是否可以将用户尽快重定向到所需的网站并在后台处理数据?
如果是,我需要使用什么?
提前谢谢。
答案 0 :(得分:3)
您可以在将所有必要数据作为页面参数插入时转到下一页。然后,您可以在该页面上开始您的流程。该流程可以在另一个线程中工作(请参阅Tasks / BackgroundWorker)
您还可以使用等待的gif和文本说明正在运行的进程,并且在进程结束时仍然会转到新页面(在多个Web应用程序库等中使用...)
答案 1 :(得分:0)
Class A {
String a;
String b;
String c;
}
Class B {
String a;
String b;
}
这就是我用的。它创建了一个执行代码的新线程。工作完美无瑕。