0

我已经调查了一段时间的问题 - 任何帮助都会很棒。

简单地说,我必须在后台运行一个 asp.net 进程。所以目前当我回发时,它会处理几分钟。我尝试了标准方法,即在批处理的回发中分叉另一个进程并返回。但是我的批处理使用 ASP.NET 控件(特别是 ReportViewer)进行处理。这意味着它不能在另一个线程中运行。我们如何解决这个问题。这是否意味着无法在批处理模式下生成报告?。

作为妥协,如果回发等待工作完成,我很高兴。但我想在客户端显示状态。为此,在回发进行时,我尝试对服务器进行 ajax 调用以获取状态。但问题在于一个会话,你只能使用一个线程(UI)。因此,当我进行 ajax 调用时,它会等待回发完成并释放线程。

我束手无策,因为这是一个简单而明显的要求

谢谢

4

1 回答 1

0

在此处输入图像描述我的第一个想法。

你能分离出一个后台线程并将 HTTPContext 传递给它吗?然后你可以在主线程忙的时候向客户端发送响应?

但是这篇文章Asynchronous Pages in ASP.NET 2.0可能对您有更好的模式。

于 2012-06-07T08:30:29.027 回答