我假设你打电话给另一个班来完成这项工作。让我们称之为WorkerClass
您可以让WorkerClass有一个事件挂钩,.aspx页面也会挂起,并在事件触发时写入消息。基于评论
// Overload EventArgs to send messageas back up
public delegate void UpdateMethod(object sender, EventArgs e);
public class WorkerClass
{
public event UpdateMethod UpdateMethod;
}
WorkerClass worker = new WorkerClass();
worker.UpdateMethod += new UpdateMethod(worker_UpdateMethod);
编辑它的存在页面
。如果你不想重构为其他类做的工作(我认为)。您可以通过这种方式发布消息。
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
this.ProcessMassiveWorkLoad();
}
private void ProcessMassiveWorkLoad()
{
for(int i = 0; i < 100000; i++)
{
// Do some work
// Write the fact you have work
Response.Write(string.Format("Done {0} of 100000", i);
}
}
做这项工作的方法只是我添加到我的页面类中的一种方法。 – BigOmega 2009-10-06 19:50:05
我会重构到另一个类。 – 2009-10-06 19:54:06