当我加载页面时,我只能在后台工作程序进程完成后导航...如果它在后台执行,就像名字所说的那样?
这是代码:
protected void Page_Load(object sender, EventArgs e)
{
BackgroundWorker _bgk = new BackgroundWorker();
_bgk.DoWork += new DoWorkEventHandler(DoWork_BackGroundWork);
_bgk.RunWorkerCompleted += new RunWorkerCompletedEventHandler(WorkComplete_BackGroundWork);
_bgk.RunWorkerAsync();
}
private void DoWork_BackGroundWork(object sender, DoWorkEventArgs e)
{
for (int i = 0; i < 99999; i++)
{
Trace.Write("STILL EXECUTING BACKGROUND WORKER");
}
}
private void WorkComplete_BackGroundWork(object sender, RunWorkerCompletedEventArgs e)
{
Trace.Write("===================== BACKGROUND WORKER FINISHED ===================");
}
Run Code Online (Sandbox Code Playgroud)
BackgroundWorker 不能很好地与ASP.NET一起使用.
最重要的是,除非你喜欢玩火,否则启动后台线程会让IIS可以在你不知道的情况下回收你的线程.最好不要在ASP.NET环境中使用这种类型的线程(不是说永远,但要正确起来可能很棘手)
| 归档时间: |
|
| 查看次数: |
1086 次 |
| 最近记录: |