我是 ASP.net 新手,我遇到了异步任务问题。
这就是我想做的。
假设我有一个名为 WebPage1 的网页,其中有一个按钮 Button1。
protected void Button1_Click(object sender, EventArgs e)
{
Button1.Text = "Working....";
System.Threading.Thread.Sleep(20000);
Button1.Text = "Finish !";
}
我希望能够切换到 WebPage2,而不会丢失使用按钮 1 开始的任务。因此,当我在 20 秒后返回到 WebPage1 时,我应该能够看到“完成!”在按钮上。
这可能吗?我强调我必须使用 .net 4.0
来做到这一点我已经看过了
- Task Class
- PageAsyncTask Class
- IAsyncResult接口(interface)
但我找不到解决问题的方法
提前致谢!
最佳答案
首先您需要导入。
using System.Threading.Tasks;
那么你的按钮处理程序应该看起来像这样。
protected void Button1_Click(object sender, EventArgs e)
{
Button1.Text = "Working....";
Task.Factory.StartNew(() =>
{
//Do Stuff
});
}
您需要有某种方法来知道任务何时完成,以便您可以在返回页面加载时进行检查。这很可能是某种数据库值。它允许您告诉用户任务是否已完成。
关于asp.net - 如何在asp.net 4.0中执行异步任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23154243/