Asp.net 用于从.Net调用SQL的进度条

Asp.net 用于从.Net调用SQL的进度条,asp.net,sql,progress-bar,Asp.net,Sql,Progress Bar,我想知道是否有一种行之有效的方法可以将.Net应用程序的DB调用进度报告给用户。我想知道是否有可能实际指示完成的百分比,或者仅仅显示“加载”动画以指示正在发生的事情的最佳/唯一方法是什么 另外,SQL2008是否针对任何人的知识解决了这一问题?您必须确定地加载内容。例如,如果您知道将获取大量数据,例如,您可以执行以下操作: -清点所有的记录 -拿500个 -报告状态为500/总计% -再拿500块 -报告状态为1000/总计% -... 继续,直到您已获得所有用户已取消的信息 这将是非常浪费时间

我想知道是否有一种行之有效的方法可以将.Net应用程序的DB调用进度报告给用户。我想知道是否有可能实际指示完成的百分比,或者仅仅显示“加载”动画以指示正在发生的事情的最佳/唯一方法是什么


另外,SQL2008是否针对任何人的知识解决了这一问题?

您必须确定地加载内容。例如,如果您知道将获取大量数据,例如,您可以执行以下操作:

-清点所有的记录 -拿500个 -报告状态为500/总计% -再拿500块 -报告状态为1000/总计% -... 继续,直到您已获得所有用户已取消的信息


这将是非常浪费时间的事情,因为仅仅访问数据库是开销的一大部分。

据我所知,没有办法做到这一点。我的建议是使用一个循环的进度条,它会永远旋转。Microsoft在SQL和Project中的数据库操作中使用这些

下面是一篇关于CodeProject的文章,其中包含以下内容:


Adam Berent

您可以使用带有no wait选项的raiserror将消息发送回远程调用者,而无需结束sql事务。当然,这将打破通常的try/catch惯例,因此建议谨慎

另一方面,“db调用”也可以指还原或备份操作,在这种情况下,您可以简单地使用SMO(服务器管理对象)库中的进度事件

此外,诸如Linq之类的ORM解决方案可用于处理“db调用”,例如批更新操作。如果是这样,那么这个答案可能有用: