C# 从另一页监视asp.net线程

C# 从另一页监视asp.net线程,c#,asp.net,multithreading,monitoring,C#,Asp.net,Multithreading,Monitoring,在asp.NET2.0中,c# 是否可以从一个页面启动线程,例如单击asp:按钮,然后从另一个页面检查该线程是否已退出 原因:我们有一个页面,单击按钮时会启动一个长的服务器端脚本。但是,由于我们不想在该页面上等待脚本结束,我们考虑创建一个执行脚本的线程,然后获取线程ID并在“请等待”页面上重定向用户,该页面每5秒刷新一次检查,以检查线程是否已退出 有没有更好的办法来实现这一目标 谢谢大家! 这是可以做到的,但是我会使用Ajax来改善体验 基本上,您将调用您的方法,它将返回线程的标识符。它不必是线

在asp.NET2.0中,c#

是否可以从一个页面启动线程,例如单击asp:按钮,然后从另一个页面检查该线程是否已退出

原因:我们有一个页面,单击按钮时会启动一个长的服务器端脚本。但是,由于我们不想在该页面上等待脚本结束,我们考虑创建一个执行脚本的线程,然后获取线程ID并在“请等待”页面上重定向用户,该页面每5秒刷新一次检查,以检查线程是否已退出

有没有更好的办法来实现这一目标


谢谢大家!

这是可以做到的,但是我会使用Ajax来改善体验

基本上,您将调用您的方法,它将返回线程的标识符。它不必是线程id,但您需要某种可以在页面/调用之间传递的唯一标识符

在您从该调用/页面返回之前,您将执行您的线程

然后,当您的客户机检查状态时,它将检查会话或其他一些共享状态,这些状态将在您先前返回的id上键入结果


如果它找到一个与键对应的值,则会显示结果(并从共享状态中删除结果),否则,它会在指定的时间段内再次检查。

ASP.NET中已经内置了一种方法来执行这类操作-它是异步页面模型。有两种方法可以实现这一点,您可以找到关于它们的详细信息,并解释了所有好处