我有以下情况:我有一个存储过程,从一堆表中获取数据并创建一个记录到一个表中。之后,最终用户可以根据生成表格中该行的数据得到一些图形。问题是,从多个表中收集数据到最终的数据可能会有很长的运行时间。我希望从我的Web应用程序中为用户提供开始收集数据的可能性,并且在完成这些工作以告知他这一点时,可以根据所得到的收集数据访问图形图表。我的问题是如何实施这个最佳实践。收集SQL数据与反馈到asp.net web应用程序
1
A
回答
1
在服务器上启动后台线程进行处理。您可以将处理结果存储在session state,数据库或其他位置。
在客户端,使用UpdatePanel和Timer定期轮询服务器的结果。当结果存在时,禁用定时器。
0
我会做一些像Andomar的建议,但在一个Windows服务,而不是在asp.net进程中的线程。
首先,我将在我的数据库中设置一个表,用作工作队列 - 也许您的结果表就足够了?该表将包含作业唯一标识,作业描述(由您的服务用于确定要执行的操作)和作业状态代码(新作业,已完成)。
然后,我会设置一个Windows服务应用程序,将定期轮询此表。根据您的负载情况,可能每隔5-30秒钟更换一次。该服务很简单:如果发现任何新作业,它会将第一份工作标记为“正常工作”,然后运行数据收集过程。完成该过程后,该服务会将工作标记为已完成。
最后,在我的asp.net应用程序中,我将设置一个作业顺序页面,用户可以请求新的数据收集作业。该请求会将新记录插入到工作队列表中,状态为新,并根据需要显示工作描述。然后,页面会将用户重定向到一个新页面(或使用ajax),该页面将检查作业的状态并每隔XX秒重新加载以检查作业是否完成。当作业状态代码设置完成时,我们会显示用户可以显示报告或下载文件等的页面。
我在这里建议的是基于轮询的作业队列的简单实现。你当然可以使用MSMQ或类似的东西来制作一个更好的版本,但如果不是大多数情况,这应该足够了。
相关问题
- 1. 收到用户输入到Android应用程序的反馈?
- 2. 将sql数据库附加到asp.net web应用程序
- 3. 反向工程asp.net web应用程序
- 4. 如何收集客户反馈?
- 5. 针对Web应用程序收集的数据库设计
- 6. SQL数据库设计反馈
- 7. 反馈表与asp.net代码
- 8. 应用程序集成的“发送反馈”
- 9. ASP.net反馈表格
- 10. Firestore web保存数据离线反馈
- 11. 如何将一个oracle数据库与一个asp.net web应用程序集成?
- 12. Web应用程序的工资核算数据与QuickBooks集成
- 13. 从ASP.NET Web应用程序到ASP.NET Web服务到SQL Server的验证
- 14. ASP.NET MVC Web应用程序VS ASP.NET Web应用程序
- 15. Sharepoint与ASP.Net Web应用程序
- 16. VS2008 ASP.NET网站与Web应用程序
- 17. Web应用程序与Drupal的集成
- 18. 将Flash与ASP.NET Web应用程序集成
- 19. 如何将Tally与Asp.Net Web应用程序集成?
- 20. Asp.net Web应用程序工具 - 应用程序设置。 SQL凭据?
- 21. 在asp.net 2.0 web应用程序中使用.net 3.5程序集
- 22. 与Sharepoint集成的ASP.NET应用程序
- 23. 将SugarCRM与ASP.NET应用程序集成
- 24. 与QuickBooks集成的asp.net应用程序
- 25. 建设splunk 4.0“应用程序” - 得到的反馈?
- 26. 反馈:应用程序崩溃,但我不能找到carch
- 27. 将反馈功能添加到应用程序
- 28. amcharts与轨道 - 不敛数据反馈
- 29. 简单的用户反馈收集服务
- 30. asp.net应用程序可以与Google应用程序集成吗