我正在开发一个 asp.net MVC 3 Web应用程序项目。该项目很简单,它提供了一个列出SQL Server存储过程的网页。当用户选择存储过程并点击“运行”按钮时,调用它在SQL Server中执行并返回一些执行结果。
我的存储过程在逻辑上分为几个步骤,比如说10个步骤,每个步骤都会打印一条消息,如step 1: doing A...
,step2: dong B...
,直到step 10: done
或step 10: fail. (with error message)
。
我不希望用户只是等待存储过程完成并看到最终结果消息。我希望他们看到某种存储过程的实时执行,以便用户可以很好地更新存储过程的位置。一些存储过程很快,需要几秒钟才能完成,有些很慢,甚至需要1小时才能完成
现在问题是:我怎样才能将这些步骤消息从SQL Server推送到Web应用程序,以便在Web浏览器中,用户可以看到每个步骤消息以实时方式打印? / p>
我搜索了很多信息,我能看到的最好的是模型控制器一旦模型发生变化就会通知视图,但仍然需要模型控制器从SQL Server中提取,我没有看到任何从SQL Server到Web应用程序的真正推动。非常感谢您的建议。
答案 0 :(得分:0)
一种方法是在过程开始时使用唯一名称创建日志表。 MVC代码将显示一个显示此日志表的网格或其他元素,存储过程将在每个步骤完成后向表中添加行...
答案 1 :(得分:0)
一种可能的解决方案是,您可以根据结果将SP分解为步骤并调用每个Step的SP并更新用户屏幕(即使每个步骤的成功和失败都有单独的MVC VIEWS / PARTIAL VIEWS)!