如何在asp.net中执行存储过程时在其他页面上连续工作?

时间:2010-07-28 03:02:59

标签: c# asp.net vb.net

我有一个存储过程,我需要从asp.net按钮执行,执行需要超过30分钟。

所以在这里我需要在执行时显示“正在处理”这样的消息并禁用几个链接。一旦执行完毕,我需要显示“上次处理的数据和时间”并启用禁用的链接。

因此,在“处理中”阶段,我们必须允许用户访问站点中的其他页面。怎么可能?

请帮我解决这个问题。提前谢谢。

2 个答案:

答案 0 :(得分:0)

你的核心问题是设计问题。没有花费那么长时间的动作应该以任何方式阻止UI。您可以通过使用标志来解决这个问题,但我会首先认真考虑是否要在此事件运行时禁用任何。理想情况下,用户会运行它,忘记它,并最终回复说“已完成”。假设他们甚至在那时照顾 - 30分钟是很长的时间。

答案 1 :(得分:0)

阻止sp多次执行并从另一个线程运行sql调用,当你完成后,你可以使用Invoke或设置一个标志让主应用程序线程知道它已完成并采取相应的行动。虽然30分钟是一个非常长的时间