And*_*ock 5 asp.net-mvc multithreading backgroundworker
我想在新线程/异步中从ASP.NET MVC控制器操作运行一些代码.我不关心响应,我想触发并忘记并在异步方法在后台运行时返回用户视图.我认为这BackgroundWorker堂课适合这个?
public ActionResult MyAction()
{
var backgroundWorker = new BackgroundWorker();
backgroundWorker.DoWork += Foo;
backgroundWorker.RunWorkerAsync();
return View("Thankyou");
}
void Foo(object sender, DoWorkEventArgs e)
{
Thread.Sleep(10000);
}
Run Code Online (Sandbox Code Playgroud)
为什么此代码会在返回View之前导致10秒的延迟?为什么View不会立即返回?
更重要的是,我需要做些什么来完成这项工作?
谢谢
你可以开始新的线程:
public ActionResult MyAction()
{
var workingThread = new Thread(Foo);
workingThread.Start();
return View("Thankyou");
}
void Foo()
{
Thread.Sleep(10000);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4297 次 |
| 最近记录: |